次のようなディレクトリ構造があります。
src/
--scripts/
----foo/a.py
----bar/b.py
--lib1
--lib2
--lib3
scripts/foo/ および scripts/bar/ を、lib1、lib2、lib3 のモジュールを利用する実行可能な Python スクリプトのディレクトリにする場合の意図。スクリプト lib1、lib2、および lib3 はすべて、アクティブな開発中の個別の内部 git リポジトリです。依存する静的インターフェイスや公開バージョンはありません。基本的に、それらはすべて小さなチームによってほぼ同時に書かれています。
私は lib[1-3] サブモジュールを作成して遊んだことがありますが、ワークフローが本当に嫌いです。私が望むのは、foo/a.py から「lib1 をインポート」して、lib1 の現在のコードを使用できるようにすることです。物事が成熟したら、すべてをバージョン管理し、適切なパッケージを製品化する予定です。
これを行う 1 つの方法はsys.path
、各スクリプトをいじって、'../../' などを明示的に調べることです。もっとエレガントなものはないかと思っていました。私のためpip install -r requirements.txt
にこの仕事をするようなものを手に入れることができますか?公式の pypi setup.py を作成したくありません。lib[1-3] ディレクトリの現在の内容へのポインターを取得したいだけです。私が requirements.txt アプローチを気に入っている理由は、ライブラリが成熟するにつれて、そこにバージョンと git URL を配置することになるからです。
または、これを行うためのまったく異なる方法はありますか?