小编ESP*_*ach的帖子

Python调用不需要虚拟环境的子进程

我有一个 Python 3.6 脚本,它使用子进程调用第三方工具。

main_script.py:

#!/usr/bin/env python
import subprocess
result = subprocess.run(['third-party-tool', '-arg1'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

问题是,main_script.py必须从虚拟环境中运行,并且third-party-tool必须从任何虚拟环境中运行。

我对此了解不多third-party-tool,只知道它在我的道路上。当我有一个活动的虚拟环境时调用它会导致它堵塞并稍后抛出异常。我不知道它是否使用默认的 python 二进制文件,或者它启动自己的虚拟环境并在那里执行操作。它不是一个 Python 脚本,但显然以某种方式调用一个脚本。

如何告诉子进程退出虚拟环境并在默认 shell 环境中运行命令?

我研究过几个类似的问题:

python environment virtual subprocess

5
推荐指数
1
解决办法
1858
查看次数

标签 统计

environment ×1

python ×1

subprocess ×1

virtual ×1