Reputation: 343
how to execute the following command in google colab.
export PYTHONPATH=/project/pylib/src:$PYTHONPATH
!export PYTHONPATH=/project/pylib/src:$PYTHONPATH
it is not affect.
Upvotes: 24
Views: 37249
Reputation: 605
In my colab session (tested on 8 June 2022)
!echo $PYTHONPATH
&
import os
os.environ['PYTHONPATH']
outputs /env/python
But
import sys
print(sys.path)
outputs
['', '/content', '/env/python', '/usr/lib/python37.zip', '/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages',
'/usr/local/lib/python3.7/dist-packages/IPython/extensions', '/root/.ipython']
So, in scenarios where you perform !git clone https://github.com/some_user/some_repo.git
import sys
sys.path.insert(1, "/content/some_repo")
from some_package.utils import some_func #located in some_repo
will work rather than the first two options.
I added /content/
because current working dir !pwd
is /content/
Upvotes: 2
Reputation: 7277
! echo $PYTHONPATH
%env PYTHONPATH="$/env/python:/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src"
! echo $PYTHONPATH
Output:
/env/python
/env/python:/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src
! echo $PYTHONPATH
import os
os.environ['PYTHONPATH'] += ":/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src"
! echo $PYTHONPATH
Output:
/env/python
/env/python:/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src
Sources:
https://medium.com/@omernaeem/you-can-set-environment-variables-using-os-environ-78a5181b6376
https://stackoverflow.com/a/49684719/3337089
Upvotes: 21
Reputation: 86443
The answer depends on why you want to do this.
For example, if you want to add the path to your current Python session so that Python's import mechanism finds modules located in that directory, you can do this:
import sys
sys.path.insert(1, "/project/pylib/src")
If you want to modify the environment variable itself (which won't affect the paths used in your current Python session) you can use the %set_env
magic:
%set_env PYTHONPATH=/project/pylib/src:/env/python
Upvotes: 14