【发布时间】:2013-07-25 05:40:02
【问题描述】:
注意sys.path最左边的值,除了空字符串...
从根目录,python -c "import sys; print(sys.path)" 给我:
['', '/home/brian/code/indep/chimai', '/home/brian/code/indep/google_search/src', '/usr/lib/python33.zip',
'/usr/lib/python3.3', '/usr/lib/python3.3/plat-linux', '/usr/lib/python3.3/lib-dynload', '/usr/lib/python3.3/site-packages']
从我的主目录:
['', '/home/brian/home/brian/code/indep/chimai', '/home/brian/code/indep/google_search/src',
'/usr/lib/python33.zip', '/usr/lib/python3.3', '/usr/lib/python3.3/plat-linux', '/usr/lib/python3.3/lib-dynload',
'/usr/lib/python3.3/site-packages']
来自 /boot/grub:
['', '/boot/grub/home/brian/code/indep/chimai', '/home/brian/code/indep/google_search/src', '/usr/lib/python33.zip',
/usr/lib/python3.3', '/usr/lib/python3.3/plat-linux', '/usr/lib/python3.3/lib-dynload', '/usr/lib/python3.3/site-packages']
无论我从哪个目录进行测试,这种行为都会继续。也就是说,您看到的 sys.path 的第二个和第三个值应该从我的 PYTHONPATH 变量中加载,但第一个值总是将我的当前目录附加到它的前面。
另外,python -Sc "import sys; print(sys.path) 不这样做,出于某种原因。使用该命令,我总是得到:
['', 'home/brian/code/indep/chimai', '/home/brian/code/indep/google_search/src', '/usr/lib/python33.zip',
'/usr/lib/python3.3/', '/usr/lib/python3.3/plat-linux', '/usr/lib/python3.3/lib-dynload']
这一切都非常令人惊讶。 site.py 对此负责吗?有人可以指出我正确的方向吗?我只是想导入自己的模块,目前由于某种原因无法导入。
【问题讨论】:
-
您是否忘记了 PYTHONPATH 中的前导斜杠?
-
感谢您指出这一点!
-
天哪,解决了。再次感谢
-
有关 sys.path 工作原理的更多信息,请参阅此答案stackoverflow.com/a/38403654/850326
标签: python python-import pythonpath sys.path