Возможно, попробуйте вызвать псевдоним python для конкретной среды, я знаю, что именно так Passenger использует правильную виртуальную среду при выполнении Django, по крайней мере.
/opt/pyenv.someenv/bin/python /root/p/somedir/scripts/some.py
Я хочу получить файл перед запуском команды, но это не работает.
[program:someprogram] command=source /opt/pyenv.someenv/bin/activate && python scripts/some.py directory=/root/p/somedir autostart=true autorestart=true user=root
После того, как я reread
, update
, status
, Это говорит
supervisor> reread someprogram: changed supervisor> update someprogram: stopped someprogram: updated process group supervisor> status someprogram FATAL can't find command 'source'
И я попробовал
command=. /opt/pyenv.someenv/bin/activate && python scripts/some.py
Сказано
someprogram FATAL command at '/usr/local/sbin/.' is a directory
Возможно, попробуйте вызвать псевдоним python для конкретной среды, я знаю, что именно так Passenger использует правильную виртуальную среду при выполнении Django, по крайней мере.
/opt/pyenv.someenv/bin/python /root/p/somedir/scripts/some.py
source
это встроенный Bash. Поэтому вам понадобится оболочка bash. Что-то вроде:
[program:someprogram] command=/bin/bash -c "source /opt/pyenv.someenv/bin/activate && python scripts/some.py"