Google App Engine正式支持Python 2.7
2012-03-03 18:28
676 查看
最近,Google在其Google App Engine(以下简称GAE)官方博客上宣布正式支持Python 2.7,对开发者来说又多了一种选择。
GAE在几个月之前实验性的引入了Python 2.7环境,此后一直在修改缺陷和进行优化。随着这次Python 2.7的正式支持,相信对开发人员更有帮助:
相比2.5版,Python 2.7提供了更多的特性和工具库,开发者可以更加得心应手:
多线程——2.5不支持此特性,在2.7中,开发者可以利用多线程库。单个请求中的所有线程必须在请求时限(在线请求为60秒,离线请求为10分钟)之前完成。
并发请求——2.5不支持此特性,现在开发者可以在GAE中修改配置来支持并发请求。
字节码修改——在2.5版本中由于运行时的限制无法修改字节码,Python 2.7不再包括此限制。生成和处理字节码的工具库可以在运行时正常工作。
字节码上传——2.5版不支持,Python 2.7可以上传.pyc文件,但是不能和.py一起,但是可以上传包含.py和.pyc文件的.zip文件。
除此之外,两版之间的区别还包括对数据存储的支持、Django、JSON等工具库的版本更新等等。
GAE的Python 2.7运行时环境支持一下第三方工具库:
lxml(2.3)——lxml工具库支持开发者更加方便的处理XML和HTML文档,对于GAE上Web服务的开发人员来说,是个必不可少的工具。
jinja2(2.6)——Jinja2是 基于python的多功能的被广泛使用的模板引擎,功能比较类似于于PHP的Smarty、J2EE的Freemarker和Velocity。 它支持Unicode,并具有集成的沙箱执行环境,Jinja2模板引擎弥补了Django自带模板系统许多不足。Python 2.7不再推荐使用WebApp模板,jinja2成为了替代者。
MarkupSafe(0.15)——MarkupSafe为XML、HTML和XHTML提供了安全转义的字符串。
NumPy(1.6.1)——Numpy提供了若干数据处理的工具。
PIL(1.1.7)——全称为Python Imaging Library,提供了许多用于处理图片的函数。
PyCrypto(2.3)——全称为Python Cryptography Toolkit,提供了许多密码学算法函数,比如随机数生成等。
setuptools(0.6c11)——帮助开发者下载、构建、安装、升级和卸载Python包。
WebOb(1.1.1)——对HTTP请求和响应做了面向对象的封装,GAE将其作为webapp框架的一部分。
YAML(3.10)——支持可读性高的消息序列化数据格式,GAE SDK使用YAML作为其配置文件的格式。
除了Python语言之外,GAE还支持Java和Go语言(实验阶段):
GAE在几个月之前实验性的引入了Python 2.7环境,此后一直在修改缺陷和进行优化。随着这次Python 2.7的正式支持,相信对开发人员更有帮助:
首先,它支持程序利用并发请求,帮助开发者构建更加稳定、高效的应用。如果你的应用没有完全利用CPU,那么你现在有机会通过并发请求来降低实例的数量。
同时,我们还增加了开发者迫切需要的工具库,包括PIL、NumPy和lxml等,这些库已经被开发者提了将近两千次了。
通过使用GAE,用户可以在Google 基础架构上运行网络应用程序,目前GAE支持使用几种编程语言编写的应用程序,包括Java、Python(2.5和2.7)、Go等语言。同时,我们还增加了开发者迫切需要的工具库,包括PIL、NumPy和lxml等,这些库已经被开发者提了将近两千次了。
相比2.5版,Python 2.7提供了更多的特性和工具库,开发者可以更加得心应手:
多线程——2.5不支持此特性,在2.7中,开发者可以利用多线程库。单个请求中的所有线程必须在请求时限(在线请求为60秒,离线请求为10分钟)之前完成。
并发请求——2.5不支持此特性,现在开发者可以在GAE中修改配置来支持并发请求。
字节码修改——在2.5版本中由于运行时的限制无法修改字节码,Python 2.7不再包括此限制。生成和处理字节码的工具库可以在运行时正常工作。
字节码上传——2.5版不支持,Python 2.7可以上传.pyc文件,但是不能和.py一起,但是可以上传包含.py和.pyc文件的.zip文件。
除此之外,两版之间的区别还包括对数据存储的支持、Django、JSON等工具库的版本更新等等。
GAE的Python 2.7运行时环境支持一下第三方工具库:
lxml(2.3)——lxml工具库支持开发者更加方便的处理XML和HTML文档,对于GAE上Web服务的开发人员来说,是个必不可少的工具。
jinja2(2.6)——Jinja2是 基于python的多功能的被广泛使用的模板引擎,功能比较类似于于PHP的Smarty、J2EE的Freemarker和Velocity。 它支持Unicode,并具有集成的沙箱执行环境,Jinja2模板引擎弥补了Django自带模板系统许多不足。Python 2.7不再推荐使用WebApp模板,jinja2成为了替代者。
MarkupSafe(0.15)——MarkupSafe为XML、HTML和XHTML提供了安全转义的字符串。
NumPy(1.6.1)——Numpy提供了若干数据处理的工具。
PIL(1.1.7)——全称为Python Imaging Library,提供了许多用于处理图片的函数。
PyCrypto(2.3)——全称为Python Cryptography Toolkit,提供了许多密码学算法函数,比如随机数生成等。
setuptools(0.6c11)——帮助开发者下载、构建、安装、升级和卸载Python包。
WebOb(1.1.1)——对HTTP请求和响应做了面向对象的封装,GAE将其作为webapp框架的一部分。
YAML(3.10)——支持可读性高的消息序列化数据格式,GAE SDK使用YAML作为其配置文件的格式。
除了Python语言之外,GAE还支持Java和Go语言(实验阶段):
Google App Engine 支持 Java 5 和 Java 6。在 App Engine 上运行 Java 应用程序时,将使用 Java 6 虚拟机 (JVM) 和标准库运行该应用程序。理想情况下,开发者应使用 Java 6 编译和测试应用程序,以确保本地服务器的工作方式与 App Engine 类似。
App Engine SDK 与 Java 5 兼容,这非常适用于不能方便获取 Java 6 的开发人员(如使用 Mac OS X 的开发人员)。开发者可以将使用 Java 5 编译的类和 JAR 上传到 App Engine。
App Engine SDK 与 Java 5 兼容,这非常适用于不能方便获取 Java 6 的开发人员(如使用 Mac OS X 的开发人员)。开发者可以将使用 Java 5 编译的类和 JAR 上传到 App Engine。
相关文章推荐
- Google App Engine, Python2.7的UnicodeDecodeError bug
- Google App Engine正式宣布支持Java!
- 在GAE(Google App Engine)上搭建python2.7的web.py程序
- 用Python和Google AppEngine开发基于Google架构的应用软件
- Google App Engine 收费计划正式实行, 同时削减免费资源
- Google为App Engine增加Java支持
- Google App Engine10年,支持更多你喜欢的编程语言
- Google App Engine通过Jenkins增加了持续集成支持
- Google App Engine支持PHP环境
- Google App Engine支持Java 对抗微软Azure
- Google App Engine对Java支持情况一览
- eclipse python + GAE(Google App Engine) 开发环境搭建
- Python: Google App Engine (GAE) Paginator Class
- google app engine简明教程---Python版
- 扩展EGL支持Google App Engine Datastore数据存储
- Google App Engine已经支持JAVA了
- 让 django 支持静态页 google Appengine
- Google App Engine 支持的语言列表和资源
- Images, Users, URL Fetch Python API——Google App Engine Services简介
- Python和Google AppEngine开发基于Google架构的应用软件