如何修改子流程的Python路径

如何修改子流程的Python路径,python,subprocess,Python,Subprocess,我正在尝试从parent.py运行Python脚本child.py,但是child.py会导入不在同一目录中的模块。因此child.py首先使用sys.path.append()设置路径 我想从parent.py设置路径,然后从脚本运行child.py。原因是模块所在目录的名称会根据版本更新而不断更改。我试图从parent.py运行sys.path.append(),但它没有反映在child.py中 我如何解决这个问题 parent.py child.py 在创建子流程时,您不能简单地将路径作为

我正在尝试从parent.py运行Python脚本child.py,但是child.py会导入不在同一目录中的模块。因此child.py首先使用
sys.path.append()
设置路径

我想从
parent.py
设置路径,然后从脚本运行
child.py
。原因是模块所在目录的名称会根据版本更新而不断更改。我试图从
parent.py
运行
sys.path.append()
,但它没有反映在
child.py

我如何解决这个问题

parent.py child.py
在创建子流程时,您不能简单地将路径作为参数传递给子流程吗?这里有更多的讨论(还没有好的答案):/path/to/directory是要在child.py中导入的模块所在的目录。child.py本身存在于不同的目录中。
import sys

sys.path.append("/path/to/directory-v2")
proc = subprocess.popen(["python3", "child.py"], stdout=subprocess.PIPE)
...
import sys

sys.path.append("/path/to/directory-v1")
import module1, module2
...