ola*_*ndo 2 python import package
我有以下文件:
pack/__init__.py
pack/subpack/__init.__py
pack/subpack/mod2.py
Run Code Online (Sandbox Code Playgroud)
以下代码在最后一行失败:
from pack import * #should import everything
print subpack #NameError: name 'subpack' is not defined
Run Code Online (Sandbox Code Playgroud)
我希望导入子包 - 为什么会有差异,我怎样才能克服它?重要:通过"克服"我的意思是能够参考而subpack
无需一直写pack.subpack
.
你需要添加
__all__ = ["mod1", "subpack"]
Run Code Online (Sandbox Code Playgroud)
到pack/__init__.py
.没有这条线,mod1
也不会被导入,所以我想知道那里发生了什么.另请参阅Guido教程中的相关部分.