开始Google App Engine之前应该做的事
六月 9th, 2008
虽然Google已经尽可能使GAE的安装和运行变得简单,但是自本博开始介绍GAE以来,还是不断有朋友反映入门教程中的例子无法运行。而有时候其实并不是很复杂的问题,所以这一篇准备说一说,在开始Google App Engine项目之前,我们应该预先做些什么准备工作。(本文以windows下的安装为例,因为我觉得既然是能搞得定unix或mac之类的用户,大概也不需要看我在这里罗嗦了)
- Google App Engine目前只支持Python环境,所以你先要安装好你的Python运行环境。到Python官方网站下载window版本,(当前最新版本是2.5.2)这是一个标准的windows安装程序,按照提示安装就可以了。安装完后,进入命令提示行,敲入python,应该显示如下:
Python 2.5.2 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
- 如果python命令提示无效命令,那么有可能是系统无法找到相关文件,你可以将Python的安装路径加入到系统的path路径中。
- 请检查.py文件是否已经和python.exe关联起来了,如果没有,您可能需要重新启动一下机器
- 下载 Google App Engine SDK Windows installer 并安装
- 添加系统环境变量‘APP_ENGINE_HOME’ 设置它的值为GAE的安装路径 (通常安装路径为C:\AppEngine)
- 将%APPENGINE%\;%APPENGINE%\lib;%APPENGINE%\lib\yaml\lib;%APPENGINE%\lib\webob;加入到系统PATH变量或PYTHONPATH变量里面,以方便自己可以在任何地方运行GAE控制程序
E:\Google\helloworld>dev_appserver.py .
INFO 2009-02-10 08:45:46,528 appcfg.py] Server: appengine.google.com
INFO 2009-02-10 08:45:46,543 appcfg.py] Checking for updates to the SDK.
WARNING 2009-02-10 08:45:47,496 datastore_file_stub.py] Could not read datastor
e data from c:\docume~1\fuhao\locals~1\temp\dev_appserver.datastore
WARNING 2009-02-10 08:45:47,513 datastore_file_stub.py] Could not read datastor
e data from c:\docume~1\fuhao\locals~1\temp\dev_appserver.datastore.history
报以上错误是咋回事?还需要啥权限?以上是错误消息的前一部分,上次发贴是后一部分。
Traceback (most recent call last):
File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 50, in
execfile(script_path, globals())
File "D:\Program Files\Google\google_appengine\google/appengine/tools/dev_apps
erver_main.py", line 351, in
sys.exit(main(sys.argv))
File "D:\Program Files\Google\google_appengine\google/appengine/tools/dev_apps
erver_main.py", line 330, in main
require_indexes=require_indexes)
File "D:\Program Files\Google\google_appengine\google\appengine\tools\dev_apps
erver.py", line 2645, in CreateServer
return BaseHTTPServer.HTTPServer((serve_address, port), handler_class)
File "D:\Python25\lib\SocketServer.py", line 330, in __init__
self.server_bind()
File "D:\Python25\lib\BaseHTTPServer.py", line 101, in server_bind
SocketServer.TCPServer.server_bind(self)
File "D:\Python25\lib\SocketServer.py", line 341, in server_bind
self.socket.bind(self.server_address)
File "", line 1, in bind
socket.error: (10013, 'Permission denied')
可以把这句加到2里面:set path=%path%;C:\python25