在Python 2.5中,我通过更改环境变量来导入模块。它有效,但使用site-packages却没有。是否有另一种方法可以在C:\ Python25以外的目录中导入模块?
答案 0 :(得分:7)
正在使用PYTHONPATH
环境变量。另一种方法是直接通过 sys.path.append(path)
或通过定义 .pth
文件添加sys.path
的路径,并将其添加到{{} 3}}。路径文件(.pth
)是简单的文本文件,每行都有一个路径。将会读取.pth
中的每个dirWithPths
文件。
答案 1 :(得分:5)
在PYTHONPATH
之后搜索添加到site-packages
环境变量的目录,因此如果site-packages
中的模块与您PYTHONPATH
中的模块名称相同} site-packages
版本将获胜。此外,您可能需要重新启动解释器和启动它的shell以使更改环境变量生效。
如果要在运行时将目录添加到搜索路径,而不重新启动程序,请将目录添加到sys.path
。例如:
import sys
sys.path.append(newpath)
如果您希望在site-packages
之前搜索新目录,请将目录放在列表的前面,如下所示:
import sys
sys.path.insert(0, newpath)
答案 2 :(得分:4)
将模块的位置附加到sys.path
。
编辑:(以反击下面的帖子;-))
os.path
做了完全不同的事情。您需要使用sys.path
。
sys.path.append("/home/me/local/modules")
答案 3 :(得分:0)
sys.path
是一个列表,您可以将自定义路径附加到该列表中,如下所示:
sys.path.append("/home/foo")