[英]Can't popen new instance of python.exe
有一个项目需要同时使用Python 3.3和2.7。 我正在尝试在Python 2.7下启动脚本,但无法正常工作。 这是一个简单的例子。
第一.py
import subprocess
import sys
print('Inside first.py')
print(sys.version)
subprocess.Popen(["C:\Python27\ArcGISx6410.2\Python.exe", "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
这就是整个堆栈跟踪。 如果我要用notepad.exe
替换C:\\...Python.exe
,那么它将起作用。 我在Windows 7上使用Liclipse。
更新:运行不同版本的Python时,从命令行python first.py
是3.3,但使用py first.py
或仅使用first.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有时需要一点帮助,以确定要使用哪个版本的标准库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.