フラスコアプリケーションをシステム化しようとしています。私は次のスクリプトを書こうとしています。
#!/bin/bash
cd /path/to/app
source venv/bin/activate
python start.py
.service ファイルでこのスクリプトを実行するだけです。しかし、サービスの起動時にエラーが発生するため、これは完全には機能しません。
Python:コマンドが見つかりません
実際には多くの問題がありましたが、ついにサービスファイルで解決しました。
[Service]
WorkingDirectory=/path/to/app
ExecStart=/path/to/app/venv/bin/python start.py
それ以外の場合は、WorkingDirectory
静的ファイルが見つからないため、ファイルパスが機能しないようです。
だから私の質問は、実際に上記のスクリプトが最初に機能しない理由です。適用されましたが、cd
venvはアクティブですか?
ベストアンサー1
さて、私は最近この問題を経験しましたが、迅速な解決のために次のコードを入力しました。
#!/bin/bash
source venv/bin/activated
python start.py
bashシェルスクリプトxyz.sh
- 私はにありますExecStart
。たぶんこれが最善の選択ではないかもしれませんが...私の場合はうまくいきます。
なぜこれがうまくいかないのですか?
User
いいですね。とGroup
の定義を知りたいです[Service]
。これがなければ、root
ユーザーを使用しています...時々これが必要です(追加の環境変数)。