2011-08-16 74 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

相關問題