Pythonプロジェクトを同じ名前の傘下に再構成しました。私のプロジェクトは、お互いに依存することができるよりも、複数のサブシステムとして見えるようになりました。つまり、すべてのサブモジュールを単独で配布できるため、必要な依存関係のみをインストールできます。名前空間パッケージのサブモジュールを配布する
古い構造:
/
├─ myproj/
│ ├─ __init__.py
│ ├─ mod1.py
│ ├─ subpackage1/
│ └─ subpackage2/
└─ setup.py
新しい構造:
/
├─ myproj/
│ ├─ common/
│ │ └─ mod1.py
│ ├─ subpackage1/
│ └─ subpackage2/
└─ setup.py
あなたはあまりないが、そのmyproj
除いて変更されている見ることができるようになりましたnamespace packageで、サブパッケージcommon
こと、subpackage1
とsubpackage2
を個別に配布できるようになりました。
1つのユニークなsetup.py
ファイルを保持して、3つの独立したパッケージを作成することは可能ですか?
myproj.subpackage1
myproj.subpackage2
私はmyproj.subpackage1
をインストールするときに、myproj.common
が必要であることを指定したいか、そのmyproj.subpackage2
がmyproj.common
とmyproj.subpackage1
の両方が必要になります
myproj.common
-
。
はい、可能かもしれませんが、それを維持しなければならないほどの労力や苦労はありません。 'セットアップ。py'は*ちょうどPythonコード*ですが、ソースとバイナリのディストリビューションを作成したり、ソースディストリビューションをダウンロードしたときにインストールを処理したり、テストの実行や作成したディストリビューションのアップロードなどのさまざまな追加タスクにも使用されます。 –
サブパッケージのメタデータを個別に管理し、a)配布を作成するときに適用するものを決定し、b)作成した配布にその決定を記録して、インストール時に他のオプションやメタデータを誤って取得してしまうことがあります。 –