2011-08-16 73 views
5

我试着使用Python 3.2和Python 2.7运行谷歌App Engine开发服务器,得到了两个错误:如何在Windows上运行Google App Engine Web服务器是否正确?

的Python 2.7:

D:\nCdy\WA>C:\Python27\python.exe "D:\Program Files\Google\google_appengine\dev_ 
appserver.py" wa.py 
Traceback (most recent call last): 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 76, in 
<module> 
    run_file(__file__, globals()) 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 72, in 
run_file 
    execfile(script_path, globals_) 
    File "D:\Program Files\Google\google_appengine\google\appengine\tools\dev_apps 
erver_main.py", line 156, in <module> 
    from google.appengine.tools import dev_appserver 
    File "D:\Program Files\Google\google_appengine\google\appengine\tools\dev_apps 
erver.py", line 179, in <module> 
    mimetypes.add_type(mime_type, '.' + ext) 
    File "C:\Python27\lib\mimetypes.py", line 344, in add_type 
    init() 
    File "C:\Python27\lib\mimetypes.py", line 355, in init 
    db.read_windows_registry() 
    File "C:\Python27\lib\mimetypes.py", line 259, in read_windows_registry 
    for ctype in enum_types(mimedb): 
    File "C:\Python27\lib\mimetypes.py", line 249, in enum_types 
    ctype = ctype.encode(default_encoding) # omit in 3.x! 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal 
not in range(128) 

的Python 3.2:

D:\nCdy\WA>C:\Python32\python.exe "D:\Program Files\Google\google_appengine\dev_ 
appserver.py" wa.py 
Traceback (most recent call last): 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 76, in 
<module> 
    run_file(__file__, globals()) 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 72, in 
run_file 
    execfile(script_path, globals_) 
NameError: global name 'execfile' is not defined 

我如何运行?

+0

除了别的,你不” t想要指定一个.py文件的路径作为dev_appserver的参数;相反,您要指定包含app.yaml的目录的路径。 – geoffspear

+0

是的,这可能也是问题。也许,不确定。 – Cynede

回答

9

它不适用于Python 3.2。

我在GAE和Python 2.7上没有遇到任何问题,它很快就会成为官方支持的版本。

现在,官方支持的版本是Python 2.5,所以如果您在使其他版本工作时遇到任何问题,请下载。

我建议像ActiveState之类的东西,因为最新版本的Python 2.5没有官方的二进制文件。

+0

你可以从http://www.python.org/download/releases/2.5.2/ –

+0

得到Python 2.5.2这是一个_very_过时的版本。 2.5.6是当前版本,可能是最后一版本。自2.5.2以来,许多错误已得到修复。如果你真的想要最新的官方二进制版本,那是2.5.4:http://www.python.org/download/releases/2.5.4/ – agf

+0

当然,但2.5.2是应用程序引擎在生产中使用的版本: http://code.google.com/appengine/docs/python/runtime.html#Pure_Python –

0

正如agf提到的,问题在于您使用python 3.2而不是2.7来运行GAE测试服务器。为了解决这个问题,你有几种选择:

指定在命令行,你想Python解释器(例如做一个.cmd文件):

c:\python27\python dev_appserver.py project_dir 

或重新定义默认的Python解释器可以完成通过更改“设置默认程序”中的.py处理程序。修改路径环境变量也可以提供帮助。

+1

仔细查看他的代码。事实上,第一次使用的确使用Python 2.7。我将把这两者分开以便更清楚。 – agf

相关问题