Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PYTHONPATH中添加的路径更改了sys.path entires_Python_Module_Python Import_Enthought - Fatal编程技术网

在PYTHONPATH中添加的路径更改了sys.path entires

在PYTHONPATH中添加的路径更改了sys.path entires,python,module,python-import,enthought,Python,Module,Python Import,Enthought,我安装了许多版本的软件包。我的基础系统python是~/Library/enthught/Canopy\u 64bit/User/lib/python2.7/ 但我还有一个应用程序('yt'),它将自己的python安装到 ~/Applications/yt/yt-x86\u 64/lib/python2.7/ 我添加了yt路径,以便在运行系统python时可以导入其中包含的模块。问题是,当我将yt路径添加到PYTHONPATH时,它会将大量其他目录添加到我的sys.path中较高的条目中,因此

我安装了许多版本的软件包。我的基础系统python是
~/Library/enthught/Canopy\u 64bit/User/lib/python2.7/

但我还有一个应用程序('yt'),它将自己的python安装到
~/Applications/yt/yt-x86\u 64/lib/python2.7/

我添加了yt路径,以便在运行系统python时可以导入其中包含的模块。问题是,当我将yt路径添加到
PYTHONPATH
时,它会将大量其他目录添加到我的
sys.path
中较高的条目中,因此当我尝试导入
numpy
时(例如),我最终得到的是yt版本,而不是我的系统版本


有没有办法防止我的
sys.path
被修改?

PYTHONPATH
值总是插入到
sys.path
中标准python库路径的前面

解决此问题的一种可能方法是将
yt
路径添加到
sys.path

所以试试看

# append to the *end* of the system path.
sys.path.append('~/Applications/yt/yt-x86_64/lib/python2.7/path/to/libs')

这将把
yt
特定模块放在列表的末尾,系统的
numpy
将首先被找到/导入。

我添加到PYTHONPATH的其他内容似乎被附加到sys.path的末尾---似乎正是这个
yt
内容改变了周围的顺序。。。我不确定。无论如何,您将路径专门添加到LIB的想法非常好,而且似乎很有效!谢谢@ZeMES-我不是Python PATH的专家,但它似乎在SysPoT的中间,在鸡蛋之后,但在标准模块之前。