App Engine包含两个Python运行时环境:一个基于Python2.5的传统环境,以及一个运行Python2.7的新环境。这个新环境不仅仅是有一个轻微的新版本的Python解释器。主要是,这个新环境可以为来自单个应用实例的多个请求同时提供服务(serve multiple requests)。这是一个当你开始拥有庞大流量时显得很有用的与性能相关的特性。如果你创建一个新的应用,没有理由不用Python2.7。如果你有一个使用Python2.5运行时环境的旧应用。你应当考虑更新。我们假定这儿及本书剩余的部分用的是2.7环境。

针对Python运行时环境的App Engine SDK可在任何运行Python2.7的电脑上运行。如果你正在使用Mac OS X或Linux,或你以前用过Python,在你的系统中很可能已经有了Python。你可以在命令行中使用下面的命令测试在你的系统中Python是否已经被安装了,以及哪种版本被安装了(在Windows中是用Command Prompt(命令行),在Mac OS 中是Terminal(终端))。

python -V

(那是一个大写的’V‘。)如果Python被安装了,它会打印它的版本号,像这样:

Python 2.7.1

你可以从Python网站上下载并安装适用于你平台的Python2.7。

http://www.python.org/

确保从网站的下载区获得的是Python2.7版本(比如Python 2.7.2)。到本书写作为止,Python最新的主版本号是3.2,最新的2.x的兼容发布板是2.7。

※App Engine Python还不支持Python3.Python 3包含一些对早期版本向后不兼容的新的语言和库特性。当App Engine增加对Python 3的支持的时候,它很可能成为一个Python2.5和2.7环境之外的新的运行时环境。在应用的配置文件中你可以控制你的应用使用哪种运行时环境。当新的运行时环境发布时,你的应用将按预期继续运行。

你可以从Google App Engine网站为你的操作系统下载对应的App Engine Python SDK包。

http://developers.google.com/appengine/downloads

为你的操作系统下载并安装适当的文件:<1.Download and install the file appropriate for your operating system:>

・对于Windows,Python SDK是一个.msi(Microsoft Installer)文件。单击这个恰当的连接来下载它,然后双击这个文件开始安装处理。它会安装Google App Engine Launcher应用,在你的开始菜单中增加一个图标,并在命令路径(command path)中增加命令行工具。

・对于Mac OS X,Python SDK是一个在.dmg(disk image)文件中的Mac应用。单击这个连接下载它,然后双击这个文件来装入磁盘镜像(mount the disk image)。将GoogleAppEngineLauncher图标拖到应用文件中。为了安装命令行工具,双击这个图标开始Launcher,当提示时,允许Launcher创建“符号链接”(symlinks)。

・如果你使用的是Linux或其他的平台,Python SDK可以从.zip包中获得。下载并解压(典型的是使用unzip命令)来创建一个命名为google_appengine的文件夹。命令行工具都存在于这个目录中。按需调整你的命令路径。

为了测试这个App Engine Python SDK被安装了,在命令行中运行下面的命令:

dev_appserver.py --help

这条命令会打印有用的信息。如果你看到一个命令没有找到的信息,那么检查安装器是否成功完成,dev_appserver.py命令的位置是否在你的命令路径中。

Windows用户,如果你运行这个命令的时候,一个包含“Windows不能打开这个文件。。。为了打开这个文件,Windows需要知道是什么程序创建它的”信息的窗体打开了,你必须告诉Windows使用Python开打这个文件。在这个窗体中,选择“从列表中选择应用”,然后单击OK。单击“浏览”,然后定位你的Python安装(如:C:\Python27)。从这个文件夹中选择python,然后单击“打开”。选择“终是使用这个选择的程序打开这种文件”,单击OK。一个窗口会打开并运行这个命令,然后会立即关掉。现在你就可以从命令行中运行命令了。

※在着手之前,你要确保Launcher使用的是你的Python2.7设置,而不是你系统的可能的其他版本。特别是,Launcher的Mac版本会默认使用/usr/bin/python2.6,甚至/usr/bin/python是Python2.7时。

改变Launcher使用的Python版本,从恰当的菜单中选择参照(Preferences),然后指定一个/usr/bin/python的“Python Path”值。关闭这个窗口去保存这个参照。如果你已经运行了一个开发服务器,需要重新启动它使变更生效。

通过开启这个服务器并单击Logs按钮来确认这个Launcher是否使用了正确的Python版本。滚动到最上边,看“Python command:/usr/bin/python”这行。如果这个路径设置没有生效,关闭Launcher应用,重新启动一下。

Launcher的概要浏览

Windows和Mac OS X版本的Python SDK包含一个叫做“Google App Engine Launcher”的应用(此后,成为“Launcher”)。使用这个Launcher,你可以通过图形化接口创建和管理多个App Engine Python项目。

从File菜单中选择New Application(或者单击窗体下方的加号)来创建一个新的项目。切换到你打算保存你的应用文件的目录,然后为你的应用输入一个名字。Launcher就在那个位置创建一个新目录,用这个应用来命名(named after the application),保持这个应用的文件并且创建一些初始文件。这个应用将在这个主Launcher窗体中的应用列表中出现。

为了启动开发网络服务器,确保这个应用被选择了,然后单击Run按钮。你可以使用Stop按钮来停止这个服务。为了在浏览器中打开这个应用的主页,单击Browse按钮Logs按钮会显示在开发服务器中的应用产生的信息。

Edit按钮会在你默认的文本编辑器中打开这个应用的文件。在Mac OS X版本中,使用文本编辑器是特别有用的,它可以打开一个目录下的文件,比如TextMate或Emacs。在Windows版本中,仅仅打开app.yaml编辑。

Deploy按钮将这个应用上传到App Engine上。在你部署一个应用之前,你必须在App Engine中注册一个应用ID并用这个注册的ID编辑这个应用的配置文件。DashBoard按钮为这个部署了的应用在浏览器窗体中打开App Engine管理控制台。

我们将会在下一章中看一下这个配置文件,注册过程,以及管理控制台。

完整的App Engine Python SDK,包含命令行工具,位于这个Launcher的应用目录中。在Windows版本中,安装器将这个恰当的目录追加到了命令路劲中。所以你可以从命令行中运行这些命令。

在Mac OS 中,当你第一次开始这个Launcher时候,它会请求创建符号链接的许可。它会在/usr/local/bin/目录下创建符号链接,指向这个应用集(application bundle)的命令行工具。使用在这个目录中的链接,你可以在终端中仅仅输入命令的名字就可以运行它。如果你不创建这些符号链接,之后你可以通过选择GoogleAppEngineLauncher中的Make Symlinks选项来实现。

你可以用Launcher为开发服务器设置命令行标志。为了做到这点,选择应用,转到Edit菜单,选择Application Settings。增加想要的命令行选项到Extra Flags字段中,然后单击Update。

※Mac OS X版本的Launcher安装了Google的软件更新装置来为App Engine SDK检查最新的版本。当一个新的版本发布后,这个特性会通知你并提供更新。

你一更新,你就发现这个符号链接停止工作了。为了修复符号链接,再次打开Launcher应用并跟随提示操作。更新不能自动完成这个是由于它需要得到你的许可来创建新的符号链接。

<Chapter 2>2-1-1.安装Python SDK的更多相关文章

  1. Idea安装Python插件并配置Python SDK

    第一步:在help/about中查看IDEA版本,作者IDEA 15.0.2 第二步:在http://plugins.jetbrains.com/plugin/631中下载python-143.116 ...

  2. <Chapter 2>2-1-2.安装Java SDK

    Java运行时环境的App Engine SDK运行在任何运行了Java SE开发工具(JDK)的电脑上.Java SDK App Engine 支持JDK 6,并且当运行App Engine的时候, ...

  3. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  4. windows下安装python的C扩展编译环境(解决“Unable to find vcvarsall.bat”)

    个人文章除注明转载外,均为个人原创或者翻译. 个人文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: 本文链接:http://www.cnblogs.com/f ...

  5. 解决IDEA安装Python插件,下载失败的方法

    一.问题 通过file-->settings-->Plugins 安装python时,会提示下载失败.可以采用以下方法解决. 二.解决办法 1.在help/about中查看IDEA版本,作 ...

  6. 基于Centos体验自然语言处理 by Python SDK

    系统要求: CentOS 7.2 64 位操作系统 准备工作 获取 SecretId 和 SecretKey 前往 密钥管理 页面获取你的 SecretId 和 SecretKey 信息,这些信息将会 ...

  7. 使用阿里云Python SDK管理ECS安全组

    准备工作 本机操作系统:CentOS7 python版本:python2.7.5 还需要准备如下信息: 一个云账号.Access Key ID.Access Key Secret.安全组ID.Regi ...

  8. 基于七牛Python SDK写的一个批量下载脚本

    前言 上一篇基于七牛Python SDK写的一个同步脚本所写的脚本只支持上传,不支持文件下载. 虽然这个需求不太强烈,但有可能有人(在备份.迁移时)需要,而官方有没提供对应的工具,所以我就把这个功能也 ...

  9. 基于七牛Python SDK写的一个同步脚本

    需求背景 最近刚搭了个markdown静态博客,想把博客的图片放到云存储中. 经过调研觉得七牛可以满足我个人的需求,就选它了. 博客要引用图片就要先将图片上传到云上. 虽然七牛网站后台可以上传文件,但 ...

随机推荐

  1. Android 自定义控件-TextView

    很多时候系统自带的View满足不了设计的要求,就需要自定义View控件.自定义View首先要实现一个继承自View的类.添加类的构造方法,override父类的方法,如onDraw,(onMeasur ...

  2. MapReduce编程系列 — 6:多表关联

    1.项目名称: 2.程序代码: 版本一(详细版): package com.mtjoin; import java.io.IOException; import java.util.Iterator; ...

  3. php程序员应具有的7种能力

    php程序员应具有什么样的能力,才能更好的完成工作,才会有更好的发展方向呢?在中国我想您不会写一辈子代码的,那样不可能,过了黄金期,您又怎么办呢?看了本文后,希望对您有所帮助. 一,php能力 1,了 ...

  4. 对于接收到的GPS信息详解

    最近一直在做gps驱动方面的东西,对于底层接收到的gps信息不是很了解,查询了资料对这些信息做出总结: 由于在室内,所以信号不是很好,接收不到卫星信号,必须站到窗口或者空旷的地方,这是gps的debu ...

  5. Xcode学习

    http://www.cnblogs.com/ygm900/p/3488881.html

  6. 【C#设计模式——创建型模式】简单工场模式

    进入码农行列也有一年半载了,仍然感觉自己混混沌沌,无所事事,无所作为,,,想想都下气,下气归下气,仍要奋起潜行,像愤怒的小鸟一边又一遍的冲向猪头也好,像蜗牛一样往前蹭也罢,总之要有蚂蚁啃骨头的精神!! ...

  7. 自定义View(3)关于canas.drawText

    本文以Canvas类的下面这个函数为基础,它用来在画布上绘制文本. public void drawText(String text, float x, float y, Paint paint) 效 ...

  8. hibernate中的SessionFactory,Session分别表示什么啊?如何理解?

    Session接口         Session接口对于Hibernate   开发人员来说是一个最重要的接口.然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会 ...

  9. Redis cluster学习 & Redis常识 & sort操作

    Redis中的5种数据类型String.Hash.List.Set.Sorted Set. Redis源码总代码一万多行. 这篇文章有一些Redis "常识" http://www ...

  10. C#将HTML导出Excel

    首先这个 不能用ajax 操作,不过 我现在讲的 这个方法和ajax 的效果一样. 你在你需要导出的页面写个方法 function DaoChu () { location.href = " ...