Answers:
您没有设置PYTHONPATH
,而是向中添加条目sys.path
。这是应该在其中搜索Python软件包的目录列表,因此您只需将目录追加到该列表即可。
sys.path.append('/path/to/whatever')
实际上,sys.path
是通过分割PYTHONPATH
路径分隔符:
上的值来初始化的(在类似Linux的系统上,;
在Windows上)。
您也可以使用来添加目录site.addsitedir
,该方法还将考虑.pth
您传递的目录内存在的文件。(对于您在中指定的目录,情况并非如此PYTHONPATH
。)
如果您sys.path.append('dir/to/path')
不加检查就放了它,则可以在中生成一个长列表sys.path
。为此,我建议这样做:
import sys
import os # if you want this directory
try:
sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
sys.path.append('/dir/path') # Or os.getcwd() for this directory
PYTHONPATH结尾于sys.path,您可以在运行时进行修改。
import sys
sys.path += ["whatever"]
您可以通过设置PYTHONPATH
,os.environ['PATHPYTHON']=/some/path
然后需要调用os.system('python')
以重新启动python shell,以使新添加的路径生效。
os.system()
不“重新启动python shell”,而是启动一个新的交互式Python实例。从中返回时,您将返回调用脚本。
sys.path.insert(0, '/path/to/whatever')
。