我有以下文件:

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/

10-12 18:16