8

Python アプリを setuptools でパッケージ化して、インストール時に (たとえば、setup.py または pip を介して) デーモン スクリプトを適切な場所に配置して起動し、起動時に自動的に起動するようにマークするにはどうすればよいでしょうか?

私の場合、私のコードは Linux でのみ動作するため、デーモンを Linux 環境 (特に Ubuntu) にインストールすることだけを考えています。

Python デーモンを簡単に作成する方法を説明している投稿をいくつか 見つけましたが、他の通常のデーモンまたはサービスとして扱われるように、実稼働環境にそれらをインストールする方法を説明しているものを見つけることができないようです。

Ubuntu や他のいくつかのディストリビューションではデーモンが /etc/init.d に保持されていることを知っています。また、setuptools を使用してファイル システムの特定の場所にファイルをコピーする方法も知っているので、スクリプトを /etc/ にコピーまたはシンボリック リンクしても安全でしょうか。 init.d を実行し、chkconfig を実行してランタイムを設定しますか、またはデーモンをインストールするより安全なディストリビューション中立の方法はありますか?

4

1 に答える 1

3

これは、ディストリビューション全体で起動スクリプトの場所を保証できないため、ディストリビューション用の適切なパッケージ (Ubuntu の場合は .deb) を作成することでより適切に処理できます。たとえば、arch linux は /etc/rc.d/ を使用します。また、そのような場所にコピーするにはルートアクセスが必要であり (python パッケージをインストールするために必ずしも必要だとは思いません)、アンインストール時に簡単に元に戻せない場合があります。

通常の setupttools インストールを作成し、/etc/init.d へのリンクを含む deb にパッケージ化することをお勧めします。

于 2012-03-15T15:15:14.140 に答える