本地vs全球导入python

时间:2015-06-29 16:07:09

标签: python python-2.7 import

我没有看到这方面的答案,所以如果这是重复的道歉。基本上,我试图了解如果存在冲突,如何强制我的解释器(2.7)从站点包导入模块。例如,假设您从具有以下结构的目录(top_level)运行python:

top_level
----cool_mod
    ----init.py
    ----sweet_module.py

但您已经将甜蜜模块安装到网站包。如果您运行在此目录中(但没有其他目录):

from cool_mod.sweet_module import *

您将从本地模块导入,而不是从全局模块导入。我能以某种方式改变它吗?

这种情况可能来自案件:

top_level

setup.py
----cool_mod
    ----init.py
    ----sweet_module.py

如果你的工作目录是top_level,你可以在安装之前运行cool_mod.sweet_module。但安装完成后,您可以从任何地方导入cool_mod.sweet_module。但是,如果您从此目录导入,即使在安装后仍然导入本地副本

1 个答案:

答案 0 :(得分:1)

在sys.path的开头插入站点包目录,然后导入。

或者,使用imp.load_source从指定路径加载模块。