web-dev-qa-db-ja.com

動作する他のパッケージ/コマンドも必要とするpythonプロジェクトのディレクトリからdebパッケージを作成する方法は?

Ubuntu 16.04のpythonプロジェクトのディレクトリから配布用のdebパッケージを作成するにはどうすればよいですか?

私はそれを検索しましたが、私が見つけた最も近いものは this です

私が今持っているのは、Pythonで書かれたRESTサーバーで構成されるディレクトリです。このディレクトリをdebパッケージに変換して、パッケージを入手した人がコンピューターに簡単にインストールしてRESTサーバーを実行できるようにします。

ディレクトリ構造の詳細は以下のとおりです

server
  |--api-----------------
  |                |--__init__.py
  |--main.py       |--v1---------------
  |                                |---__init__.py
  |--__init__.py                   |---resources-------
                                                |
                                                |---a.py
                                                |---b.py
                                                |---tasks.py

通常、python main.pyと入力してceleryワーカーを実行した後、このサーバーをcelery -A server.api.v1.resources.tasks worker --loglevel=INFOとして実行します。

今私が聞きたいのは、このプロジェクトをdebパッケージに変換して配布する方法はありますか?サーバーのサポートにceleryワーカーも使用しているため、このディレクトリをワーカーのコマンドと一緒に変換することは可能ですか?ここで私が意味するのは、誰かが自分のubuntuコンピューターでdebパッケージを実行すると、サーバーはワーカーと一緒に実行できるということです。

6
Fang

fpm を試してください。

引用されたドキュメントからのインストール:

$ Sudo apt-get install Ruby ruby-dev rubygems build-essential 
% Sudo gem install --no-ri --no-rdoc fpm 

Fpmのインストール後:

$ cd server
$ fpm -s python -t deb .

特定の状況に合わせたカスタマイズ。 「セロリ」をinstall_requires of setup.pyに追加できます。また、fpmオプション--python-install-binおよび--python-install-libを使用して、バイナリファイルとライブラリファイルの保存先を指定できます。 pythonソースの詳細なドキュメントは as にあります。

これを開始するには、何らかのカスタムスクリプトを作成する必要がある場合もあります。

1
rocky