我在将目录添加到我的 PYTHONPATH
时遇到问题
该目录是/usr/local/lib/python2.7/dist-packages
当我运行时
PYTHONPATH=/usr/local/lib/python2.7/dist-packages python -c 'import sys; print sys.path'
我在结果中找不到它。
尝试一下我注意到以下几点:
当 /usr/local/lib/python2.7
作为前缀时,该目录将从 sys.path
中消失,例如以下工作正常:
PYTHONPATH=/usr/local/lib python -c 'import sys; print sys.path'
我没有在其他地方设置PYTHONPATH
,并且我检查了使用 sudo 运行它。
最佳答案
显示路径的原因有多种。确保您没有遇到以下任一情况:
路径必须存在,不存在的路径将被忽略。来自
PYTHONPATH
documentation :Non-existent directories are silently ignored.
删除重复项(保留第一个条目);路径设为绝对路径(相对于当前工作目录),并在重要的平台上不区分大小写进行比较。
因此,如果您的相对路径与
sys.path
中的绝对路径相同,仅保留第一个条目。规范化和清理后,
site
module尝试导入sitecustomize
和usercustomize
模块。这些可以操纵sys.path
也是。
您可以仔细查看您的sys.path
清洁后,如果有 usercustomize
通过运行 site
导入模块模块作为命令行工具:
python -m site
它会打印出你的 sys.path
采用可读的每条目一行格式。
关于PYTHONPATH sys.path 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28001730/