在Python中导入

时间:2009-03-30 13:46:55

标签: python import

在Python 2.5中,我通过更改环境变量来导入模块。它有效,但使用site-packages却没有。是否有另一种方法可以在C:\ Python25以外的目录中导入模块?

4 个答案:

答案 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")