Google App Engine SDK 1.6.0 發布。支援 Python 2.7

Google App Engine 在前幾天(11/7)發布了 1.6.0 的 SDK。

主要的改進有:

(一)新的(更貴的)收費模式http://www.google.com/enterprise/cloud/appengine/pricing.html

(二)可以使用 Python 2.7 了

其實在上一版就已經加入 2.7 的測試,但是 SDK 等到這次的 1.6.0 才開始支援本機端的 2.7。

要使用 Python 2.7 作為 runtime,首先要確認你的應用程式必須是 High Replication Datastore(HRD)模式才行。

現在建立新的應用程式的話,預設都是在 HRD 模式,如果是很古早前的程式,要先經過 Migration 程序轉換到 HRD 模式。(從後台「Application Settings」裡的「Migrate Application」)

接著在 app.yaml 中修改:

runtime: **python27**
threadsafe: **true**

URL 的對應也要修改為:

- url: /.*
  main.**app**

這樣就能在 Python 2.7 中開發你的應用程式了。(當然本機端也別忘了也要升級到 2.7。)

(三)支援各種 Python 2.7 的 Threading library

(四)支援一些 C 語言的模組:‘ctypes, sqlite, ssl, _ssl, fcntl, spwd, pwd, grp, syslog, select, _socket’

(五)支援 Python 原生的 JSON 函示庫。

以往要在 GAE 裡使用 JSON 得靠 Django 的 simplejson, Python 2.7 開始支援原生的 JSON library,速度會快上很多。

(六)支援許多第三方的函示庫。

在新的 Python 2.7 runtime 可以使用 Django、lxml、jinja2、MarkupSafe、NumPy、PIL、PyCrypto、setuptools、WebOb、YAML、zipimport 這些 third-party libraries。

要在應用程式裡匯入這些 libraries,得先在 app.yaml 中設定好,以 lxml 來說:

libraries:
- name: lxml
  version: "2.3"

其中 name 是 library 的名稱,version 是要使用的版本,也可以指定「latest」來使用伺服器上最新的版本。詳細的名稱和版本對應表可以在官方文件裡找到。

接著就可以在程式裡直接 ‘import lxml’ 匯入了。(當然要在本機上測試的話,也得先安裝好相對應的版本囉。)

(七)webapp 框架升級到 webapp2。

簡單的「Hello, World!」範例:

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, WebApp World!')

app = webapp2.WSGIApplication([('/', MainPage)])

創用CC 本著作係採用創用 CC 姓名標示-非商業性-禁止改作 3.0 台灣 授權條款授權

迴響

目前沒有迴響。

留下迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

*