首页 > 解决方案 > 激活虚拟环境并通过一次调用 subprocess.Popen 来运行命令,shell=False 可能吗?

问题描述

有什么方法可以激活我的虚拟环境并使用该环境运行一些进程,只需调用一次subprocess.Popenwith shell=False

例如我需要通过子进程运行以下命令

. myvenv/bin/activate && robot myrobotscript.robot,

因为我想在我的虚拟环境中使用 Robot Framework 包。我不需要安全的实现,所以shell=True在我想为我的进程设置超时之前,设置对我来说不是问题。但是,调用subprocess.kill()不会杀死子进程,因此超时实际上是无用的。也就是说,因为在process.communicate()没有超时的情况下调用之后,行为就像我根本没有向该方法传递超时一样。

标签: pythonshellsubprocessvirtualenv

解决方案


推荐阅读