Использование python, чтобы открыть новый терминал и запустить команду в этом терминале - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь оптимизировать свой рабочий процесс и поэтому хочу выполнить команду из программы python, которая откроет терминал, переключится в указанный каталог c и затем запустит команду, в этом случае активируйте виртуальный environment.

Этот вопрос похож на этот. Однако я не уверен, как обрабатывать вызов virtualenv.

import subprocess

subprocess.run(['gnome-terminal', '--working-directory', '/home/jeff/projects', 'bash \"workon wagtail\" '])

Что происходит? новое окно создается в правильном каталоге, но workon не вызывается

Работа в терминале, если я использую

gnome-terminal --working-directory='/home/jeff/projects'  -- bash -ci "source /usr/bin/virtualenvwrapper.sh && workon ; exec bash;"

Команда работает, но работа выполняется до появления подсказки терминала

Если я запускаю

gnome-terminal --working-directory='/home/jeff/projects'  -- bash -ci "source /usr/bin/virtualenvwrapper.sh && workon wagtail; exec bash;"

, терминал не входит в venv (трясогузку). Однако команда

workon wagtail

находится в истории терминала

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...