Python パッケージを使用する場合、兄弟パッケージからモジュールをインポートすることが困難になる場合があります。 sys.path の操作を伴う従来の方法は、煩雑でエラーが発生しやすい可能性があります。ここでは、より直接的なアプローチとして Python の最新のパッケージ化ツールを活用したソリューションを紹介します。
プロジェクト ディレクトリのルートに、次の最小限の内容を含む pyproject.toml ファイルを作成します:
[project] name = "myproject" version = "0.1.0" description = "My small project" [build-system] build-backend = "flit_core.buildapi" requires = ["flit_core >=3.2,<4"]
必須ではありませんが、仮想環境をアクティブ化すると、プロジェクト固有の依存関係がグローバル Python 環境から確実に分離されます。仮想環境を作成してアクティブ化するには:
仮想環境を作成します:
python -m venv venv
プロジェクト ディレクトリのルートで、-e フラグを指定した pip を使用してパッケージをインストールし、編集可能モードを有効にします。
pip install -e .
< h3>4.兄弟パッケージの接頭辞を持つモジュールをインポート
兄弟パッケージからモジュールをインポートするには、インポートに接頭辞としてパッケージ名を追加します。たとえば、兄弟パッケージから api という名前のモジュールをインポートするには、次を使用します:
from myproject.api import api_module
次のプロジェクト構造を検討してください:
- api - api.py - examples - example_one.py - tests - test_one.py
提案されたソリューションでは、example_one.py から API モジュールをインポートし、 test_one.py は次のようになります:
example_one.py:
from myproject.api import api_module
test_one.py:
from myproject.api import api_module def test_function(): print(api_module.function_from_api()) if __name__ == '__main__': test_function()
test_one.py を実行すると、次の関数で function_from_api() 関数が正常に呼び出されるようになります。 API モジュール。
以上がPython で兄弟パッケージからモジュールを簡単にインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。