我正在尝试优化工作流程,因此我想从python程序发出命令,该命令将打开终端,切换到特定目录,然后运行命令,在这种情况下,请激活虚拟环境。
这个问题类似于this one.,但是,我不确定如何处理对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(wa)。但是命令
workon wagtail
在终端历史记录中