本地与全球进口 python

Local vs Global imports python

我没有看到这个问题的答案,如果这是重复的,我们深表歉意。基本上,我试图了解如果存在冲突,如何强制我的解释器 (2.7) 从站点包中导入模块。例如,假设您正在 运行ning python 来自具有以下结构的目录 (top_level):

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

但是您已经将 sweet 模块安装到站点包中。在这个目录中(而不是其他目录)如果你 运行:

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。但是,如果您从该目录导入,即使在安装之后,您仍然会导入本地副本

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

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