Python打包依赖项

时间:2018-06-07 13:14:53

标签: python packaging

简单快速的问题...说我有一个名为miscfun的自创包,其中有一些模块/脚本看起来像......

# helper.py
import re
import os

def foo(x):
    # Do something with re

def bar(x):
    # Do something with os

设置正确的setup.py等后,我可以“安装”我的包并使用

加载它
import miscfun.helper

然而,我刚才发现的是我也可以打电话

miscfun.helper.os

miscfun.helper.re

'使用'reos模块!这不是很奇怪而且令人困惑吗?我可以以某种方式阻止这种情况发生吗?

(如果这不是正常情况,我会很乐意解释更多,但现在我希望这足够了)

1 个答案:

答案 0 :(得分:1)

这是python模块完全正常的行为。一旦你import进入你的模块,就会在模块名称空间中引入新的键(基本上dict就像python中的所有内容一样)。模块命名空间中的任何键都可以像往常一样在其他地方访问或导入。