Python 打包依赖
Python packaging dependencies
简单快速的问题...假设我有一个名为 miscfun
的自行创建的包,其中一些 module/script 看起来像...
# helper.py
import re
import os
def foo(x):
# Do something with re
def bar(x):
# Do something with os
设置适当的 setup.py 等之后。然后我可以 'install' 我的包并使用
加载它
import miscfun.helper
不过我刚才发现的是我也可以调用
miscfun.helper.os
或
miscfun.helper.re
'use' re
和 os
模块!是不是很奇怪很迷惑?我能以某种方式阻止这种情况发生吗?
(如果这不是正常情况,我很乐意解释更多,但现在我希望这就足够了)
嗯,这是 python 模块的完全正常行为。一旦你 import
任何东西进入你的模块,你就会在模块命名空间中引入新的键(基本上 dict
就像 python 中的所有东西)。模块命名空间中的任何键都可以像往常一样在其他地方访问或导入。
简单快速的问题...假设我有一个名为 miscfun
的自行创建的包,其中一些 module/script 看起来像...
# helper.py
import re
import os
def foo(x):
# Do something with re
def bar(x):
# Do something with os
设置适当的 setup.py 等之后。然后我可以 'install' 我的包并使用
加载它import miscfun.helper
不过我刚才发现的是我也可以调用
miscfun.helper.os
或
miscfun.helper.re
'use' re
和 os
模块!是不是很奇怪很迷惑?我能以某种方式阻止这种情况发生吗?
(如果这不是正常情况,我很乐意解释更多,但现在我希望这就足够了)
嗯,这是 python 模块的完全正常行为。一旦你 import
任何东西进入你的模块,你就会在模块命名空间中引入新的键(基本上 dict
就像 python 中的所有东西)。模块命名空间中的任何键都可以像往常一样在其他地方访问或导入。