【发布时间】:2020-07-23 23:52:10
【问题描述】:
如果我想要实现的不是 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"])
这调用成功,但我得到了各种未找到的异常等。我猜这就是原因。
如果有更好的方法请告诉我!
【问题讨论】:
-
你有没有机会使用
pyenv?如果您使用pyenv,我知道该怎么做。 -
@PeacefulJames 不-但请详细说明,如果有帮助,我愿意采用它:)
-
您需要 2 个 venv 是否有最重要的原因?除非您正确设置,否则您将有相当不可靠的行为。即,如果您激活 venv1,您应该能够导入 proj2.main,因为配置正确。其他任何东西都在沙子上建造。然而,这样做也不是微不足道的,这就是为什么我犹豫是否认为你的配置是一个很好的开始路径。
标签: python virtualenv invoke virtualenvwrapper