私はまだimport
声明に頭を悩ませています。同じレベルに2つのフォルダがある場合:
- src
- テスト
でモジュールをインポートするpy
ファイルを作成するにはどうすればよいですか?より良い解決策はありますか(フォルダを別のフォルダの中に置くなど)test
src
私はまだimport
声明に頭を悩ませています。同じレベルに2つのフォルダがある場合:
でモジュールをインポートするpy
ファイルを作成するにはどうすればよいですか?より良い解決策はありますか(フォルダを別のフォルダの中に置くなど)test
src
必要なコードはsrc/module_name.pyを使用するためのものです
from src import module_name
ルートディレクトリはPYTHONPATHにあります。たとえば、ルートディレクトリから実行します。
あなたのディレクトリ構造は私が使用しているものですが、srcからではなくモデル名を使用しています。この構造は、JCalderoneのブログから入手しました。
これを試してみてください:
import sys
import os
sys.path.append(os.path.join('..', 'src'))
import module_in_src_folder
任意のプラットフォームをサポートするように編集
私が書いたすべてのPythonプロジェクトで、OPとまったく同じ状況になります。
src、test、またはこれらのサブフォルダーにあるかどうかにかかわらず、すべてのモジュールは常にimport
、マークが答えに示している形式を使用します。
from src import module_name
私が行ったことはProject Folder
、テストフォルダー内にあるすべてのテストモジュールを再帰的に検出し、unittestを取得してそれらすべてのテストを実行するモジュールを作成することです。pythonがで実行されているProject Folder
ため、モジュールは作業ディレクトリに相対的です。
これは、テストがからモジュールを作成したい他のクライアントとまったく同じであることを意味しますsrc
。