我想按照python 3中的这种布局制作一个模块:
test_import
├── __init__.py
└── src
├── __init__.py
├── sub_module
│ ├── __init__.py
│ └── test2.py
└── test1.py
这样,我可以在src旁边创建另一个目录test
以使用pytest
。
我希望能够以这种方式导入test2.py:
from test_import.sub_module import test2
如果所有文件__init__.py
都是空的,我可以这样导入test2
:
from test_import.src.sub_module import test2
我试图将这段代码放在第一个__init__.py
中:
from .src import sub_module
from .src import test1
我收到此错误:
>>> import test_import
>>> test_import.sub_module
<module 'test_import.src.sub_module' from '/usr/local/lib/python-dataswati/test_import/src/sub_module/__init__.py'>
>>> test_import.sub_module.test2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'test_import.src.sub_module' has no attribute 'test2'
但是我可以使用test_import.test1
我可以通过在test_import/src/sub_module/__init__.py
中填充:
from . import test2
但是我不想为文件夹中的所有文件指定它。
我应该如何进行?