环境中缺少PYTHONPATH
请帮我理解这个问题。在这里你可以看到我已经设置了PYTHONPATH(这个设置来自我的.bashrc
文件)。
jean@klippie:~$ echo $PYTHONPATH
:/home/jean/local/lib/python2.6/site-packages
但是如果我尝试在我的本地site-packages中启动某个东西,它却被忽略了:
jean@klippie:~$ gtimelog
Traceback (most recent call last):
File "/home/jean/bin/gtimelog", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2671, in <module>
working_set.require(__requires__)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 654, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 552, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: gtimelog==0.5.0
现在如果我手动将PYTHONPATH导出为echo
上面显示的确切值,它就不会被忽略了:
jean@klippie:~$ export PYTHONPATH=:/home/jean/local/lib/python2.6/site-packages
jean@klippie:~$ gtimelog
# SUCCESS
有没有人知道这是怎么回事?
1 个回答
4
很可能你只是把 shell 变量 PYTHONPATH
设置在了你的 .bashrc
文件里,但并没有把这个变量导出到环境中。用 echo
打印出来只能显示这个 shell 变量的值。你可以试试
env | grep PYTHONPATH
来检查一下 PYTHONPATH
是否真的在环境中,并确保你在 .bashrc
里确实使用了 export
命令。