I am starting to work with the Python Anaconda distribution from Continuum.io to do scipy
work.
I have been able to get Anaconda up and running, but I cannot tell whether Anaconda creates a new PYTHONPATH
environment variable for each new environment it creates, or whether it relies on the common system PYTHONPATH
.
I could not find any information on this in the documentation.
Further, when I did a printenv
, I did not see a PYTHONPATH
variable in the newly created environment --though I did find a few new anaconda created environment variables.
The best I can find is that Anaconda added some Anaconda directories and the new environment directory to the head of PATH
variable --but this does not necessarily isolate the new package from the system environment but it is close.
Does anyone know the answer to this question or found a way to deal with this concern?
This question is related to
python
scipy
environment-variables
anaconda
Anaconda does not use the PYTHONPATH
. One should however note that if the PYTHONPATH
is set it could be used to load a library that is not in the anaconda environment. That is why before activating an environment it might be good to do a
unset PYTHONPATH
For instance this PYTHONPATH points to an incorrect pandas lib:
export PYTHONPATH=/home/john/share/usr/anaconda/lib/python
source activate anaconda-2.7
python
>>>> import pandas as pd
/home/john/share/usr/lib/python/pandas-0.12.0-py2.7-linux-x86_64.egg/pandas/hashtable.so: undefined symbol: PyUnicodeUCS2_DecodeUTF8
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/john/share/usr/lib/python/pandas-0.12.0-py2.7-linux-x86_64.egg/pandas/__init__.py", line 6, in <module>
from . import hashtable, tslib, lib
ImportError: /home/john/share/usr/lib/python/pandas-0.12.0-py2.7-linux-x86_64.egg/pandas/hashtable.so: undefined symbol: PyUnicodeUCS2_DecodeUTF8
unsetting the PYTHONPATH
prevents the wrong pandas lib from being loaded:
unset PYTHONPATH
source activate anaconda-2.7
python
>>>> import pandas as pd
>>>>
Source: Stackoverflow.com