私は通常、次のコマンドで実行するpythonスクリプトを持っています。
(environment) python run.py
最初にこのスクリプトを実行したいと思います。(ubuntuを使用しています)これが私のサービスです。
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/home/user/anaconda3/bin/python /home/user/space/run.py
[Install]
WantedBy=multi-user.target
ところで、このスクリプトは実行できませんでしたが、環境内にないスクリプトは実行できました。起動時にpythonスクリプトを実行するにはどうすればよいですか(virtualenv)?
sudo systemctl status user_sent
● user_sent.service - Mail Service
Loaded: loaded (/lib/systemd/system/user_sent.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since xxxxx 16:30:20 MSK; 3s ago
Process: 3713 ExecStart=/usr/bin/python run.py (code=exited, status=200/CHDIR)
Main PID: 3713 (code=exited, status=200/CHDIR)
1
ログとステータスとは何ですか?
—
フェデリコシエラ
質問を編集しました。@FedericoSierraに感謝
—
ジャスミン
このスクリプトは、外venvをrunnigされる
—
フェデリコ・シエラ
/usr/bin/python run.py
参照、stackoverflow.com/questions/37211115/...とunix.stackexchange.com/questions/278188/...
私はそれらを試しました。「python /user_sent/run.py」ではなく「python run.py」を実行する必要がある
—
Jasmine
Pythonパスは、仮想環境内のバージョンを指している必要があり、例:
—
フェデリコ・シエラ
/path/to/your/virtualenv/bin/python