Python子进程调用本地解释器而非链接的解释器

0 投票
1 回答
34 浏览
提问于 2025-04-14 17:42

我正在尝试在一个Python脚本中执行一个函数,想用自己的解释器作为子进程,这个解释器是在subprocess.run()调用中指定的。这个解释器可能包含一些我本地Python环境中没有的包。当我调试这个文件时,由于我本地的Python缺少这些库,所以出现了错误,而不是使用命令中链接的那个解释器。我是不是理解错了什么?

try:
    proc = subprocess.run(
        [
            r'C:\Users\user\AppData\Local\Programs\Python\Python311\python.exe',
            r'C:\subprocess_python\my_file_subprocess.py',
            str(self.x), str(self.y), str(self.z)
        ],
        capture_output=True,
        check=True
    )
except subprocess.CalledProcessError as proc_err:
    print("An exception occurred in the subprocess: \n ", proc_err)
    print("stdout : \n", proc_err.stdout.decode())
    print("stderr : \n", proc_err.stderr.decode())
    exit(1)

1 个回答

0

可以使用 sys.executable 来找出当前正在运行的解释器的路径。

撰写回答