我有一个脚本,它不会在Nuke的内置Python解释器中运行,所以我尝试通过系统的Python来启动它。我在用子流程.Popen但它仍然不会在子进程内运行(缺少模块),即使它在命令提示符下运行良好(命令提示符)你知道吗
我认为问题是,我只是不知道我的子进程是在什么环境下启动的。它甚至没有运行预期的Python版本。你知道吗
在命令提示符地址:
C:/Python27/python.exe -V
> Python 2.7.16
在核武器方面:
import subprocess as sub
print sub.Popen("C:/Python27/python.exe -V", stderr=sub.PIPE).communicate()[1]
# Result: Python 2.7.13
print sub.Popen('C:/Python27/python.exe -c
"import sys;print(sys.executable)"',
stdout=sub.PIPE).communicate()[0]
# Result: C:\Python27\python.exe
这个较低版本的Python从何而来?Nuke的内置Python也是2.7.13,这可能不是巧合,但是为什么Popen会运行它而不是我指定的.exe呢?你知道吗
注意:无论我给出shell=True还是shell=False,结果都是一样的
目前没有回答
相关问题 更多 >
编程相关推荐