1. ホーム
  2. python

[解決済み] Python プログラムを配布するための Debian パッケージを作成する標準的な方法はありますか?

2023-03-09 21:49:29

質問

この方法に関する情報は山ほどありますが 猫の皮を剥ぐ方法は 1 つだけではありません。 また、このプロセスの一部をカバーするすべてのチュートリアル/マニュアルは、他のチュートリアルとは異なる特定の前提を置いているようなので、私はまだそれを把握できていません。

今のところ、これは私が理解したと思うことです。

  1. 私の最終目標は、quot;binary" .deb パッケージを作成することであるべきです。そのようなパッケージは、すべての Python プログラムがそうであるように、プラットフォームに依存しない (32/64 ビット) ことになります。
  2. バイナリパッケージを作成するために、私は最初にソースパッケージを作成する必要があります。
  3. ソースパッケージを作成するために、次のいずれかを使用できます。 CDBS または debhelper . 初心者の方にはDebhelperをお勧めします。
  4. ソースパッケージ作成の核となるのは DEBIAN ディレクトリに、どこにファイルをコピーする必要があるか、どのような著作権とライセンス体系に従うか、どのような依存関係があるか、などを明確にする多数のファイルを配置することです。
  5. ステップ 4 は、ほぼ自動で dh_make コマンドを使用します。 もし Pythonのソースには、distutilsの setup.py スクリプトがあります。

さて、私の質問です。

  1. 私の理解は正しいですか? 何か見落としていることや、間違っていることはないか?
  2. ステップ#5は、私にとって本当にもっと分かりにくいものです。具体的には、私にとって最も不明瞭なままである2つのポイントです。
    • をどのように書けばいいのでしょうか? setup.py スクリプトを書くことができますか? EDITです。 スタンドアロンプログラム デスクトップユーザーによって使用されることを意図したプログラムという意味です。 モジュール とは異なり、インポートされた後に他のソフトウェアで使用される機能のコレクションのように理解しています)。私の特定のケースでは、実際に必要なのは 2 つの メイン ソフトウェアと別のユーティリティ (事実上、他のソフトウェアと同じパッケージにあるべき 2 つ目のプログラム) です。
    • DEB パッケージのためのそのようなスクリプトの特異性は何ですか。 公式ドキュメントは RPM と Windows のものしか扱っていないようですが...。

ちなみに、これらは私がこれまでに自分で見つけた最高の情報源です。もし、これより良いものがあれば、ぜひ教えてください。:)

どのように解決するのですか?

これは、次のようになります。 stdeb はあなたが望むことをするようです。

また、スクリプトをインストールするために、強くお勧めするのは ディストリビューションの console_scripts のエントリポイントサポートを強く推奨します。