私は最近SMPP SMSサーバーを介して通信するように設計されたPythonプログラムを作成しました。
私が直面している問題は、Conda仮想環境を使用してCent OSサーバーでPythonスクリプトをサービスとして実行する方法がわからないことです。私は多くの依存関係を使用しており、Condaの代わりに仮想環境を選択することはオプションではありませんでした。
このスクリプトをサービスとして実行する方法はありますか?次のコマンドを使用してこのスクリプトを起動するコンソールメソッドを作成する方法もありますか?
service fooService start
答え1
遅くなってすみません。特定の環境でPythonスクリプトを実行する方法は、次のシェルスクリプトを作成することです。
#!/bin/bash
source activate my_env && python my_script.py
そして、Pythonスクリプト自体ではなく、対応するラッパースクリプトをサービスとして作成してください。
答え2
別の方法があります。次のように、環境でPython実行可能ファイルを直接使用できますExecStart
。
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
答え3
git-bashの場合は、以下を試してください。最初の行はcondaを初期化します。
eval "$(conda shell.bash hook)"
source activate myenv
python myscript.py