我在〜/ .profile中有这个:
export PYTHONPATH=/home/dev/python-files
在python-files目录中,我有一些从git-hub克隆的项目(flask,curveship和py-vgdl).
每当我尝试启动这些项目中的任何示例时,都会出现类似于以下内容的错误:
$python ~/python-files/py-vgdl/examples/gridphysics/frogs.py
Traceback (most recent call last):
File "/home/dev/python-files/py-vgdl/examples/gridphysics/frogs.py", line 67, in
from vgdl.core import VGDLParser
ImportError: No module named vgdl.core
在我看来,我不应该得到这个错误,因为我有PYTHONPATH环境变量设置?
运行python交互式解释器:
>>> import os
>>> os.environ["PYTHONPATH"]
'/home/dev/python-files'
解决方法:
尝试附加PYTHONPATH而不是完全覆盖它.
export PYTHONPATH=$PYTHONPATH:/home/dev/python-files
参考文献:
Augment the default search path for module files. […]
The default search path is installation dependent, but generally begins with prefix/lib/pythonversion (see PYTHONHOME above). It is always appended to PYTHONPATH.
意味着PYTHONPATH中存在某些值,并且仅附加默认搜索路径.
此外,this blog post( link)还清楚地解释了为什么你需要附加到PYTHONPATH而不是覆盖它.向下滚动到该部分 – 特殊情况并检查搜索路径可以清楚地解释它(遗憾的是没有该链接的相对URL,因此您必须滚动).虽然用户在mac上给出了示例,但它们与任何平台都非常相关
标签:python,environment-variables
来源: https://codeday.me/bug/0807/1615016.html