在解释器启动期间不会自动导入站点模块

时间:2015-01-22 05:28:07

标签: python

问题非常简单。正如Python doc所述,应在启动期间自动导入站点包。但对我来说情况并非如此。我必须手动导入它才能使用它:

import site
site.main()

另外,我确信包含site.py的目录python \ lib位于搜索路径中。我正在使用Windows 7.

如果有人知道的话,我想知道这里有什么问题......

1 个答案:

答案 0 :(得分:2)

无可否认,它在启动时已被导入,因为您可以轻松验证:

import sys
print sys.modules["site"].__file__

这并不意味着任何名称已导入您的名称空间。为此,您必须使用import。由于模块已经导入一次,因此您将获得对该模块的引用:

import site
assert site is sys.modules["site"]

换句话说,它的工作方式与在您自己以外的某个模块中导入的任何其他模块一样。

在调用site.main()时实际上没有任何意义,因为在导入过程中已经调用了它。