gpt4 book ai didi

python - 执行在不同虚拟环境/venv 下构建的 python 脚本?

转载 作者:行者123 更新时间:2023-12-05 02:05:58 28 4
gpt4 key购买 nike

如果我想要实现的不是 Pythonic,我深表歉意 - 我最近转向了这门语言。

我的项目目录结构如下:

root
--proj1
----venv
----main.py
--proj2
----venv
----main.py

proj1 和 proj2 都在各自的虚拟环境下运行。我正在尝试从 proj1/main.py 调用 proj2/main.py,同时在其自己的 venv 下执行 proj2/main.py。我试过:

import subprocess

s2_out = subprocess.check_output([sys.executable, r"..\proj2\__main__.py", "arg"])

这调用成功,但我收到各种未找到的异常等。我猜这就是原因。

如果有更好的方法请告诉我!

最佳答案

你可以这样做:

import subprocess
subprocess.call(["python_interpreter location (python.exe)", "python file"])

所以你可以这样做:

import subprocess
subprocess.call(["../proj2/bin/python.exe", "proj2/main.py"])

对于 Mac OS 和 Linux,venv 的 python 解释器路径为 folder/bin/python.exe,或者在您的情况下为 ../proj2/bin/python.exe.

对于 Windows,venv 的 python 解释器路径为 folder/scripts/python.exe

您可能需要包含完整路径。

另一种方法是使用 subprocess.call ,如果你需要输出:

import subprocess

output = subprocess.call("%s %s" %("../proj2/bin/python.exe", "proj2/main.py"))
print(output)

两种方式都可以正常工作:)

关于python - 执行在不同虚拟环境/venv 下构建的 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63064779/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com