兄弟パッケージからのインポートは、コードベースを整理する際に課題となる可能性があります。 sys.path.append ハックは回避策を提供しますが、これらの煩わしい挿入の必要性を排除する、より洗練されたソリューションがあります。
) 次のファイルを考えてみましょう。構造:
api.py:
def function_from_api(): return 'I am the return value from api.api!'
test_one.py:
from myproject.api.api import function_from_api def test_function(): print(function_from_api()) if __name__ == '__main__': test_function()
へtest_one.py を実行し、myproject が編集可能な状態でインストールされていることを確認します。次に、
python myproject/tests/test_one.py
を実行します。「I am the return value from api.api!」という出力が表示されます。
このメソッドにより、次のことが可能になります。 sys.path.append のようなハッキングなソリューションに頼らずに兄弟パッケージからインポートします。 pyproject.toml と編集可能なインストールを活用することで、簡単な拡張性とテストを容易にしながら、クリーンでモジュール式のコードベースを維持できます。
以上が「sys.path」ハックを使用せずに兄弟パッケージからインポートする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。