在子进程中设置环境以执行批处理文件

时间:2018-04-10 06:10:50

标签: python subprocess virtualenv

我尝试在bash shell中设置一个带有* .sh文件的环境,然后用python子进程执行批处理文件。这是我的代码:

import subprocess

p = subprocess.Popen(". ./bin/testenv.sh", ["start", "-b", "cm.bat"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, executable="/bin/bash")
p.communicate()

但这不起作用。我需要stdout和stderr。我在ubuntu工作。 据我所知,当我手动完成所有这些过程时,我会使用环境的内置函数源。似乎在子进程中导出并不容易。在popen constructor下的子流程文档中,我读到了env,但遗憾的是我不明白如何正确使用它,我甚至不确定这是否对我有帮助。 如何让我的问题解决? (或者还有其他可能来解决这个问题吗?) 谁能帮助我? 提前致谢!

0 个答案:

没有答案
相关问题