ホストの Python パスにディレクトリを追加せずに最上位ディレクトリからコードが実行されるように、Python パッケージを整理するにはどうすればよいですか?
また、パッケージの最上位ディレクトリを Python パスに追加しなくても、さまざまなテスト サブディレクトリからテストを実行できるように、コードを整理したいと考えています。
次のコード レイアウトを検討してください。
foobar/
__init__.py
README.txt
its_a_module.py
one_package/
__init__.py
foo.py
bar.py
tests/
__init__.py
testing_one_package.py
tests/
__init__.py
test_foobar.py
- foobar/ にあるとき、python インタープリターで foobar とそのすべてのサブモジュールをインポートできるはずです
- foobar/ から、tests/test_foobar.py を実行できるはずです。
- foobar/tests から、test_foobar.py を実行できるはずです
- one_package/tests から、testing_one_package.py を実行できるはずです。
これらの目的を達成するために、さまざまなモジュールのインポート ステートメントとinit .py ファイルの内容を整理するにはどうすればよいですか?
(私は distutils を使用してコードを管理したいと考えており、最上位ディレクトリからコードを実行することは有用な前兆であると読みました。)