无法打开python.exe的新实例

时间:2015-07-25 00:13:52

标签: python python-2.7 python-3.x popen

有一个项目,我需要使用Python 3.3和2.7。我试图在Python 2.7下启动一个脚本,但它不起作用。这是一个简单的例子。

first.py

import subprocess
import sys
print('Inside first.py')
print(sys.version)
subprocess.Popen(["C:\Python27\ArcGISx6410.2\Python.exe", "second.py"])

second.py

import arcpy

print 'This is second.py'

这不起作用,输出

Inside first.py
3.3.5 (v3.3.5:62cf4e77f785, Mar  9 2014, 10:35:05) [MSC v.1600 64 bit (AMD64)]
  File "C:\Python33\lib\site.py", line 173
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

这就是整个堆栈跟踪。如果我要用C:\...Python.exe替换notepad.exe,那么它就可以了。我在Windows 7上使用Liclipse。

更新:似乎运行了不同版本的Python,当命令行python first.py为3.3但py first.pyfirst.py时,则使用2.7。

1 个答案:

答案 0 :(得分:1)

尝试:

import os
subprocess.Popen(["C:\\Python27\\ArcGISx6410.2\\Python.exe", "second.py"], env=dict(os.environ, PYTHONHOME="C:\\Python27\\ArcGISx6410.2"))

Windows上的Python有时需要一些帮助来确定要使用的标准库版本。