I持っている(のpython3を使用して)、次のプロジェクトファイル:のpython3 - Pytestのディレクトリ構造と輸入
pyproj
├── __init__.py
├── main.py
├── module1.py
├── module2.py
└── tests
├── __init__.py
└── test_module.py
Module1のは何の輸入が含まれていません。モジュール1から
モジュール2インポート次のようにモジュール1とモジュール2から
import module1
main.py輸入次のよう
from module1 import *
from module2 import *
Iがモジュール2からインポートすることができるようにテスト/ test_moduleを希望しますモジュール1から、ディレクトリのpytest
を使用して実行することができます。
tests/test_module.py:1: in <module> from ..module2 import * module2.py:1: in <module> import module1 E ImportError: No module named 'module1'
問題は、モジュール1は、モジュール2をインポートするときのようだ:pyproj
ディレクトリのいずれかからpytest
またはtests
ディレクトリを実行しているとき
from ..module2 import *
は、次のエラーが発生します。しかし、使用してモジュール2をインポートしよう。しかし、python3 main.py
は正しく動作します。
私は多くの変更を試みましたが、どちらもmain.py
とテストが正しく機能するようには思えません。これを行うためにプロジェクトを構造化し、適切にファイルをインポートする正しい方法は何ですか?