pytest布局导入不兼容

时间:2018-07-09 12:02:37

标签: python import package python-import pytest

我想按照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

但是我不想为文件夹中的所有文件指定它。

我应该如何进行?

0 个答案:

没有答案