I have a full python installation with files in /usr/local/
, but also have one that I compiled from source sitting in ~/python_dist
. If I look at sys.path
on each interpreter I see that they indeed import from different libraries.
Currently I can run $ PYTHONPATH=~/other_py_libs ~/python_dist/bin/python
to invoke the custom interpreter with some other modules available in the path. However, I don't want permanently change the global PYTHONPATH
variable.
How can I permanently change the python path for only one specific python install?
The easiest way to do this is to use a virtualenv (manage with virtualenvwrapper). With virtual environments you can set up different, isolated python environments (kind of like little python playgrounds). Switching between them (with the help of virtualenvwrapper) is as easy as typing
workon envname
. You don't have to worry about switching the PYTHONPATH around, and you can direct scripts to use a specific environment simply by running them with the python install in that environment, e.g. using#! /home/myname/.virtualenvs/envname/bin python
.