Google App Engine 安装程序
项目描述
此包将 Google App Engine SDK 1.9.54 安装到当前 Python 解释器的 site-packages 目录,以便您可以在 dev_appserver.py 运行时之外使用 from google import appengine。如果您想在测试中使用 google.appengine.ext.testbed 包,这将非常有用。
它还使所有 GAE 命令(如 dev_appserver.py、bulkloader.py 等)都可以全局使用,无需 .py 扩展名。
安装程序与 Virtualenv 兼容。
本包的版本与 GAE SDK 版本(目前为 1.9.54)相同,如果 SDK 有新版本发布,此包也会有相应的版本发布。
使用方法
创建虚拟环境
$ virtualenv e
$ . e/bin/activate
使用 pip 安装,
$(e) pip install gae_installer
或使用 easy_install,
$(e) easy_install gae_installer
或手动
$(e) git clone https://github.com/peterhudec/gae_installer.git
$(e) python gae_installer/setup.py install
$(e) rm -rf gae_installer
安装需要一段时间。完成后,您应该能够导入 google.appengine 模块
(e)$ python -c "from google import appengine; print appengine.__file__"
/Users/peterhudec/demo/e/lib/python2.7/site-packages/google_appengine/google/appengine/__init__.pyc
并且 GAE 可执行文件应在 ./e/bin/ 目录中。
$(e) ls -l ./e/bin/
total 232
-rw-r--r-- 1 peterhudec staff 2224 May 14 12:38 activate
-rw-r--r-- 1 peterhudec staff 1280 May 14 12:38 activate.csh
-rw-r--r-- 1 peterhudec staff 2493 May 14 12:38 activate.fish
-rw-r--r-- 1 peterhudec staff 1129 May 14 12:38 activate_this.py
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:36 api_server
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:48 backends_conversion
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:48 bulkload_client
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:48 bulkloader
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:36 dev_appserver
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:48 download_appstats
-rwxr-xr-x 1 peterhudec staff 271 May 14 12:38 easy_install
-rwxr-xr-x 1 peterhudec staff 271 May 14 12:38 easy_install-2.7
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:48 endpointscfg
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:48 gen_protorpc
-rwxr-xr-x 1 peterhudec staff 69 May 13 19:35 get_gae_dir
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:48 google_sql
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:49 old_dev_appserver
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:49 php_cli
-rwxr-xr-x 1 peterhudec staff 243 May 14 12:38 pip
-rwxr-xr-x 1 peterhudec staff 243 May 14 12:38 pip2
-rwxr-xr-x 1 peterhudec staff 243 May 14 12:38 pip2.7
-rwxr-xr-x 1 peterhudec staff 12752 May 14 12:38 python
lrwxr-xr-x 1 peterhudec staff 6 May 14 12:38 python2 -> python
lrwxr-xr-x 1 peterhudec staff 6 May 14 12:38 python2.7 -> python
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:49 remote_api_shell
-rwxr-xr-x 1 peterhudec staff 42 May 13 19:49 wrapper_util
工作原理
运行 python setup.py install 试图从 https://storage.googleapis.com/appengine-sdks/featured/google_appengine_X.X.X.zip URL 下载适用于 Linux/Other Platforms 的 Google App Engine SDK。如果响应的 MIME 类型不是 application/zip,则请求的版本已过时,安装程序将从 https://storage.googleapis.com/appengine-sdks/deprecated/XXX/google_appengine_X.X.X.zip(其中 XXX 是与 GAE Installer 版本匹配的 GAE SDK 版本)下载 GAE SDK。然后,将下载的 ZIP 存档与 MD5 校验和 afec2639b27aabaacf54697d51dee959 进行比较,并将其提取到当前 Python 解释器的 site-packages/google_appengine 目录,并通过 site-packages/google_appengine.pth 文件提供给 PYTHONPATH。 GAE Installer 还在当前 Python 解释器的 scripts 目录 中创建 Bash 可执行文件,这些文件包装了 site-packages/google_appengine 目录中的 GAE Python 可执行文件。