【发布时间】:2019-12-04 09:57:57
【问题描述】:
在 python 2 中,我可以创建这样的模块:
parent
->module
->__init__.py (init calls 'from file import ClassName')
file.py
->class ClassName(obj)
这行得通。在 python 3 中,我可以从命令解释器执行相同的操作,并且它可以工作(编辑:这有效,因为我在运行解释器的同一目录中)。但是,如果我创建 __ init __.py 并执行相同的操作:
"""__init__.py"""
from file import ClassName
"""file.py"""
class ClassName(object): ...etc etc
我得到 ImportError: cannot import name 'ClassName',它根本看不到 'file'。它会在我导入模块后立即执行此操作,即使我可以通过直接引用它来导入所有内容(我不想这样做,因为它与我们的代码库的其余部分完全不一致)。什么给了?
【问题讨论】:
标签: python python-3.x python-3.4