【发布时间】:2010-03-25 21:24:26
【问题描述】:
我有一个 Python 包 mymodule 和一个子包 utils(即一个包含每个模块的子目录,每个模块都有一个函数)。这些函数与它们所在的文件/模块同名。
我希望能够访问以下功能,
from mymodule.utils import a_function
然而,奇怪的是,有时我可以使用上述符号导入函数,但有时我不能。我无法弄清楚为什么(例如,最近,我重命名了一个函数及其所在的文件,并将此重命名反映在 utils.__init__.py 文件中,但它不再作为函数导入(而是作为模块)在我的一个脚本中。
utils.__init__.py 读起来像,
__all__ = ['a_function', 'b_function' ...]
from a_function import a_function
from b_function import b_function
...
mymodule.__init__.py 没有引用 utils
想法?
【问题讨论】: