无法打开 python 的新实例.exe



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

first.py

import subprocess
import sys
print('Inside first.py')
print(sys.version)
subprocess.Popen(["C:Python27ArcGISx6410.2Python.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:Python33libsite.py", line 173
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

这是整个堆栈跟踪。如果我用notepad.exe代替C:...Python.exe,就可以了。我在Windows 7上使用的是eclipse。

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

尝试:

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

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

最新更新