我有以下文件:
pack/__init__.py
pack/subpack/__init.__py
pack/subpack/mod2.py
以下代码在最后一行失败:
from pack import * #should import everything
print subpack #NameError: name 'subpack' is not defined
我希望导入子包 - 为什么会有差异,我该如何克服它?重要提示:“克服”是指无需一直编写
subpack
即可引用 pack.subpack
。 最佳答案
你需要添加
__all__ = ["mod1", "subpack"]
到
pack/__init__.py
。没有这一行,mod1
也不会被导入,所以我想知道那里发生了什么。另见 relevant section in Guido's tutorial 。关于python - 从包中导入子包不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4902974/