<Chapter 2>2-1-1.安装Python SDK
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。
确保从网站的下载区获得的是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的更多相关文章
- Idea安装Python插件并配置Python SDK
第一步:在help/about中查看IDEA版本,作者IDEA 15.0.2 第二步:在http://plugins.jetbrains.com/plugin/631中下载python-143.116 ...
- <Chapter 2>2-1-2.安装Java SDK
Java运行时环境的App Engine SDK运行在任何运行了Java SE开发工具(JDK)的电脑上.Java SDK App Engine 支持JDK 6,并且当运行App Engine的时候, ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- windows下安装python的C扩展编译环境(解决“Unable to find vcvarsall.bat”)
个人文章除注明转载外,均为个人原创或者翻译. 个人文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: 本文链接:http://www.cnblogs.com/f ...
- 解决IDEA安装Python插件,下载失败的方法
一.问题 通过file-->settings-->Plugins 安装python时,会提示下载失败.可以采用以下方法解决. 二.解决办法 1.在help/about中查看IDEA版本,作 ...
- 基于Centos体验自然语言处理 by Python SDK
系统要求: CentOS 7.2 64 位操作系统 准备工作 获取 SecretId 和 SecretKey 前往 密钥管理 页面获取你的 SecretId 和 SecretKey 信息,这些信息将会 ...
- 使用阿里云Python SDK管理ECS安全组
准备工作 本机操作系统:CentOS7 python版本:python2.7.5 还需要准备如下信息: 一个云账号.Access Key ID.Access Key Secret.安全组ID.Regi ...
- 基于七牛Python SDK写的一个批量下载脚本
前言 上一篇基于七牛Python SDK写的一个同步脚本所写的脚本只支持上传,不支持文件下载. 虽然这个需求不太强烈,但有可能有人(在备份.迁移时)需要,而官方有没提供对应的工具,所以我就把这个功能也 ...
- 基于七牛Python SDK写的一个同步脚本
需求背景 最近刚搭了个markdown静态博客,想把博客的图片放到云存储中. 经过调研觉得七牛可以满足我个人的需求,就选它了. 博客要引用图片就要先将图片上传到云上. 虽然七牛网站后台可以上传文件,但 ...
随机推荐
- tomcat version
Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules 转自:http://jingwang0 ...
- JavaMail如何保证邮件发送成功
使用过JavaMail的api发送邮件的人可能会有这样一个疑惑:我如何知道我调用该api发送的邮件是否成功呢?一般的开放的api给我们调用都会有个返回值或者状态码,来告诉我们执行成功与否.但是Java ...
- MyEclipse 2014 + JSP+ Servlet
来自:http://blog.csdn.net/21aspnet/article/details/21867241 1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2).下 ...
- UDP丢包和无序 问题的解决方法
最近在做一个项目,在这之前,做了个验证程序. 发现客户端连续发来1000个1024字节的包,服务器端出现了丢包现象. 纠其原因,是服务端在还未完全处理掉数据,客户端已经数据发送完毕且关闭了. 我用过s ...
- Android线性布局(Linear Layout)
Android线性布局(Linear Layout) LinearLayout是一个view组(view group),其包含的所有子view都以一个方向排列,垂直或是水平方向.我们能够用androi ...
- POJ 3185 The Water Bowls(高斯消元-枚举变元个数)
题目链接:http://poj.org/problem?id=3185 题意:20盏灯排成一排.操作第i盏灯的时候,i-1和i+1盏灯的状态均会改变.给定初始状态,问最少操作多少盏灯使得所有灯的状态最 ...
- Java 包装类 自动装箱和拆箱
包装类(Wrapper Class) 包装类是针对于原生数据类型的包装. 因为有8个原生数据类型,所以对应有8个包装类. 所有的包装类(8个)都位于java.lang下. Java中的8个包装类分别是 ...
- gsp序列模式挖掘
数据挖掘进阶之序列模式挖掘GSP算法 绪 继续数据挖掘方面算法的讲解,前面讲解了数据挖掘中关联规则算法FP-Growth的实现.此篇博文主要讲解基于有趣性度量标准的GSP序列模式挖掘算法.有关论文后期 ...
- TCP建立连接和释放的过程,及TCP状态变迁图
一.TCP报文格式 下面是TCP报文格式图: 重要字段介绍: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记. (2)确认序号:Ack序号,占 ...
- 【Todo】淘宝十年产品事-读书笔记
书籍位置: /Users/baidu/Documents/Data/Interview/业界/淘宝十年产品事.pdf