我使用conda
创建包含R package的Python 2.7环境。如果我在控制台中打开Python会话,我可以检查R
是否确实与Popen构造函数一起安装:
$ python
>>> from subprocess import Popen, PIPE
>>> proc = Popen(["which", "R"], stdout=PIPE, stderr=PIPE)
>>> proc.wait()
0
0
表示已安装。但是如果我在完全相同的Python环境下运行的Sublime Text 3 REPL内尝试相同的命令,我会得到一个1
。
为什么会这样,我该如何解决?
答案 0 :(得分:1)
你需要沟通:
proc = Popen(['which', 'python'], stdout=PIPE)
proc.communicate()
('/Users/Kelvin/virtualenvs/foo/bin/python\n', None)
wait
只是等待子进程完成并给你返回代码(如果成功则为0)
如果您收到不同的错误代码(1表示失败),我会考虑确认您的虚拟环境。试试sys.executable