Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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
Python pth文件不是';行不通_Python_Pythonpath - Fatal编程技术网

Python pth文件不是';行不通

Python pth文件不是';行不通,python,pythonpath,Python,Pythonpath,my.pth配置文件中列出的目录未显示在sys.path中 名为some_code\u dirs.pth的配置文件的内容: /home/project 文件的路径: /usr/lib/python2.6/site-packages/some_code_dirs.pth /usr/lib/python2.6/some_code_dirs.pth 在python解释器中检查sys变量: >>> print sys.prefix '/usr' >>> prin

my.pth配置文件中列出的目录未显示在sys.path中

名为
some_code\u dirs.pth的配置文件的内容

/home/project
文件的路径:

/usr/lib/python2.6/site-packages/some_code_dirs.pth
/usr/lib/python2.6/some_code_dirs.pth
在python解释器中检查sys变量:

>>> print sys.prefix 
'/usr'
>>> print sys.exec_prefix
'/usr'
所有这些在Python中似乎都是必需的,但是sys.path不包括/home/project目录

请注意,解释器会在以下内容之后添加目录:

>>> site.addsitedir('/usr/lib/python2.6/site-packages') 

我在这里遗漏了什么?

您正在使用什么操作系统?在我的Ubuntu 9.04系统上,该目录不在sys.path中。
尝试将其放入
/usr/lib/python2.6/dist包中。请注意,它是dist而不是site

我刚才用过。检查pth文件的编码。如果使用带BOM的UTF-8编码,pth文件似乎会被忽略。

请包含
sys.path
的值,这是可以理解的,因为“带BOM的UTF-8”是假的,与ASCII不兼容(pth文件就是这样的)!在linux机器上看到这种情况很奇怪,因为通常只有坏掉的Windows应用程序才会产生它们。是的,Ubuntu对Python的库路径做了一些奇怪而复杂的事情,试图使它适合他们的打包系统。与标准的默认编译Python安装相比,几乎没有什么相同之处:-(这起作用了——对于dist包中的.pth文件,/home/project_root在解释器的sys.path中显示。/usr/lib/python2.6在sys.path中,并且.pth文件的副本在该目录中,所以我不明白python为什么不选择它。我想这也是Ubuntu配置问题。我只是一个鸡蛋,但这看起来像是一个st。)Ubuntu人员的一系列选择。我不认为python解释器会从sys.path中的每个路径导入.pth文件。