我正在尝试使用以下目录结构来遵循PEP 328:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
在core_test.py
我有以下进口声明
from ..components.core import GameLoopEvents
但是,当我运行时,出现以下错误:
tests$ python core_test.py
Traceback (most recent call last):
File "core_test.py", line 3, in <module>
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package
到处搜索时,我发现“ 即使使用__init__.py,相对路径也无法使用 ”和“ 从相对路径导入模块 ”,但是它们没有帮助。
我在这里想念什么吗?
no module named myimports.foo
当我运行它们时,请不断获取。
cd
进入PyImports
,然后运行python -m unittest tests.test_abs
。
unittest
项目的各种方式也感到非常困惑,所以我写了这个相当详尽的示例项目,其中涵盖了模块的深层嵌套,相对和绝对导入(在哪里可以工作,不可以)以及从一个内部引用相对和绝对引用。包,以及类的单,双和包级导入。清除了事情直到我!