Назад | Перейти на главную страницу

Как заставить python запускаться из терминальной среды

Я попытался запустить Ansible playbook с python через сценарий bash, но обнаружил ошибку, описанную здесь https://github.com/ansible/ansible/issues/32142 (TL; DR, когда я запускаю playbook с модулем паузы внутри в фоновом режиме, он застревает). Я хотел бы разобраться с этим на стороне питона. Когда я запускаю playbook с терминала, все работает, но если я использую subprocess.run(), вероятно, он запустит команду в фоновом режиме, и сценарий зависнет. Есть ли способ смоделировать терминальную среду в run() команда? Или я должен вставить это app.service? Или, если вам приходит в голову другой обходной путь, не стесняйтесь поделиться :)

app.service

[Unit]
Description=uWSGI
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/app
Environment=FLASK_CONFIG=/var/www/app/app/config/config.py
Restart=always
ExecStart=/usr/bin/uwsgi --ini app.ini

[Install]
WantedBy=multi-user.target

Заранее благодарим за совет.