我无法从文件导入类,即使我可以从同一文件导入其他类。 我的文件结构是
maindir\
- test.py
- neat\
- __init__.py
- reporting.py
reporting.py 文件看起来像这样
class A:
pass
class B(A):
pass
class C(A);
pass
__ init__.py 看起来像这样
from neat.reporting import B, C # But C can't be found
当然在 test.py 中我可以使用 B 但不能使用 C
import neat
b = B() # works
c = C() # throws class not found
我尝试重命名该类,将其移动到文件中的不同位置,删除 B 类,重新启动程序,在同一文件中使用 * 导入并使用 C 类(有效)。
改变错误的唯一方法是将 C 移动到一个新文件并导入它,但这会导致另一个错误,然后在运行时找不到该文件。
我不确定这是否是问题所在,但你的 C 类有一个拼写错误:
class C(A):
pass
而不是
class C(A);
pass