首先:对不起,我知道有很多关于相对进口的问题,但我只是没有找到解决方案。如果可能的话,我想使用以下目录布局:
myClass/
__init__.py
test/
demo.py
benchmark.py
specs.py
src/
__init__.py
myClass.py
现在我的问题是:
包中的测试文件如何正确导入 myClass.py?
假设您将 myClass 作为 libs/myClass 或 include/myClass 中的子模块,您将如何从外部导入包?
到目前为止,我找不到一个优雅的解决方案。根据我对Guido 的决定的理解,应该可以这样做from ..src import myClass
,但这会出错:
ValueError: Attempted relative import in non-package
看起来它没有将 myClass 视为包。阅读文档:
需要 __init__.py 文件才能使 Python 将目录视为包含包;
似乎我遗漏了一些指定包脚本在哪里的东西,我应该使用 .pth 吗?