为什么 Anaconda 将我的默认 Python 路径添加到特定环境的路径中?
Why has Anaconda added my default Python paths to the specific environment's path?
我已经创建了一个 anaconda 环境。当我激活环境时,我可以看到环境使用的 Python 版本与我的默认 Python 版本不同。这是对的。但是,当我在激活的环境中检查 python 路径时。
import sys
from pprint import pprint
pprint(sys.path)
我可以看到前 4 项指向默认 Python 安装。
['', 'C:\Python27\Lib\site-packages\distribute-0.6.35-py2.7.egg', 'C:\Python27\Lib\site-packages\ipython-1.0.0-py2.7.egg', 'C:\Python27\Lib\site-packages', 'C:\Python27\Lib\site-packages\setuptools-0.6c11-py2.7.egg-info', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\python27.zip', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\DLLs', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\plat-win', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\lib-tk', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\PIL', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\Sphinx-1.2.3-py2.7.eg g', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\win32', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\win32\lib', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\Pythonwin', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\runipy-0.1.1-py2.7.eg g', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\setuptools-5.8-py2.7. egg']
这会导致导入某些库的错误版本。
为什么将这些默认目录添加到路径中?这是创建新 Anaconda 环境时的默认行为吗?有什么办法可以覆盖吗?
检查您是否设置了环境变量 PYTHONPATH
或 PYTHONHOME
。 conda info -a
还将向您显示可能导致此类事情发生的所有相关环境变量。
我已经创建了一个 anaconda 环境。当我激活环境时,我可以看到环境使用的 Python 版本与我的默认 Python 版本不同。这是对的。但是,当我在激活的环境中检查 python 路径时。
import sys
from pprint import pprint
pprint(sys.path)
我可以看到前 4 项指向默认 Python 安装。
['', 'C:\Python27\Lib\site-packages\distribute-0.6.35-py2.7.egg', 'C:\Python27\Lib\site-packages\ipython-1.0.0-py2.7.egg', 'C:\Python27\Lib\site-packages', 'C:\Python27\Lib\site-packages\setuptools-0.6c11-py2.7.egg-info', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\python27.zip', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\DLLs', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\plat-win', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\lib-tk', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\PIL', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\Sphinx-1.2.3-py2.7.eg g', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\win32', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\win32\lib', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\Pythonwin', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\runipy-0.1.1-py2.7.eg g', 'C:\Users\sennn\AppData\Local\Continuum\Anaconda32\envs\apiapi\lib\site-packages\setuptools-5.8-py2.7. egg']
这会导致导入某些库的错误版本。
为什么将这些默认目录添加到路径中?这是创建新 Anaconda 环境时的默认行为吗?有什么办法可以覆盖吗?
检查您是否设置了环境变量 PYTHONPATH
或 PYTHONHOME
。 conda info -a
还将向您显示可能导致此类事情发生的所有相关环境变量。