web-dev-qa-db-ja.com

サービスとしてConda仮想環境でPythonスクリプトを実行する

私は最近、SMPPを介して通信するように設計されたPythonプログラムを書きましたSMSサーバー。

私が直面している問題は、Conda仮想環境を使用してCent OSサーバーでPythonスクリプトをサービスとして実行する方法がわかりません。多くの依存関係とCondaではなく仮想環境を選択することはできません。

このスクリプトをサービスとして実行する方法はありますか?また、次を使用してこのスクリプトを開始するコンソールメソッドを作成する方法はありますか?

service fooService start
3
David Swan

申し訳ありませんが遅くなりますが、特定の環境でpythonスクリプトを実行する方法は、次のようなシェルスクリプトを記述することです。

#!/bin/bash
source activate my_env && python my_script.py

pythonスクリプト自体ではなく、サービスとしてそのラッパースクリプトを使用します。

4
Chris L. Barnes

別の方法もあります。次のようにExecStartの環境からpython実行可能ファイルを直接使用できます:

ExecStart=/path/to/conda/envs/my_env_name/bin/python /path/to/executable

Minicondaを使用しているCentOSサーバーのパスは次のとおりです。

ExecStart=/root/miniconda3/envs/test_env/bin/python3 /root/test.py
1
Pitirus