我确信这是一个非常简单的问题,而且我只是遗漏了一些非常明显的东西,但是这个困境的答案已经让我想了好几个小时。
我的项目目录结构如下所示:
-PhysicsMaterial
-Macros
__init__.py
Macros.py
-Modules
__init__.py
AvgAccel.py
AvgVelocity.py
-UnitTests
__init__.py
AvgAccelUnitTest.py
AvgVelocityUnitTest.py
__init__.py
除了对我的命名约定和目录结构的批评外,我似乎无法使用相对导入。我正在尝试相对导入要在 AvgAccelUnitTest.py 中测试的模块文件:
from .Modules import AvgAccel as accel
但是,我不断得到:
ValueError: Attempted relative import in non-package
由于我在整个结构中都设置了所有init文件,并且我还将顶层目录添加到了我的 PYTHONPATH 中,所以我很难过。为什么 python 不能正确解释包和导入文件?