我将如何组织我的python导入,以便可以有一个像这样的目录。
project
| \
| __init__.py
|
src
| \
| __init__.py
| classes.py
|
test
\
__init__.py
tests.py
然后在/project/test/tests.py中能够导入classes.py
我在tests.py中有看起来像这样的代码
from .. src.classes import(
scheduler
db
)
并且越来越错误
SystemError: Parent module '' not loaded, cannot perform relative import
有人知道该怎么办吗?
Python将包含您启动的脚本的文件夹添加到PYTHONPATH,因此如果您运行
python test/tests.py
仅将文件夹test
添加到路径(而不是在其中执行命令的基本目录)。
而是像这样运行测试:
python -m test.tests
这会将基本目录添加到python路径,然后可以通过非相对导入来访问类:
from src.classes import etc
如果您确实要使用相对导入样式,则需要将3个目录添加到包目录中
package
* __init__.py
* project
* src
* test
然后从包目录上方执行
python -m package.test.tests
也可以看看:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句