Google App Engine SDK:python 基本教學安裝
Mar 7th, 2009 by appleboy 參觀者:9,159Views 機器人:208Views

Google App Engine 利用 python 程式語言所組成,可以利用 Google 背後的技術來開發您的 Web application,後端就交給 Google 的強大雲端運算能力,前端就可以利用 SDK 來開發您的 Web 介面,後端儲存可以用 Google Bigtable 及 GFS 的儲存方式,那現在就不多說了,花了一點時間把環境建立起來,遇到一些問題,現在來筆記一下,目前我在 FreeBSD 7.1 Release 來當作 Google App Engine 開發平台,在安裝方面有遇到一些小問題,底下來看看:
在 FreeBSD 安裝方法還蠻簡單的,首先把 python 環境弄好
# make install clean
底下這張圖就是安裝好的結果:

安裝好之後就是下載開發環境 SDK Downloads,目前支援 Mac OS、Linux、Windows 都可以安裝:
當然我就選擇 Linux 的 zip 檔案,下載好解壓縮就可以了,接下來介紹怎麼使用,其實網路上說明文件都寫的還蠻詳細的,解壓縮產生一個資料夾 google_appengine,裡面兩個檔案是大家都會用到的:
- dev_appserver.py:這個檔案用來編譯您寫的 Web application
- appcfg.py:用來上傳您寫好的檔案到 App Engine 系統
再來寫測試檔案,測試看看喔,寫一個 Hello, World! 來看看
先建立一個 hello 的資料夾
裡面放入兩個檔案,分別是:hello.py 跟 app.yaml,hello.py 就是您的程式檔案,app.yaml 就是網站設定檔,檔案內容分別如下:
hello.py:
print ''
print 'Hello, world!'
app.yaml:
version: 1
runtime: python
api_version: 1
handlers:
- url: /.*
script: hello.py
接下來開始編譯:利用 dev_appserver.py 這隻 python 程式編譯
這樣預設編譯 8080 port,這樣就可以利用 http://localhost:8080 來看到網站,不過底下會出現一些問題:
Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging
這個問題,就是沒有安裝 pytho 的 imaging 這隻 ports,我是參考了 FreeBSD ports and Python versions,找到答案的,所以解決方式如下
# make install clean
再來就是為甚麼只能在本機端觀看網頁,只要不是用 127.0.0.1 跟 localhost 就不能看,我想要用 domain name 下去看阿,所以只要加上參數就可以了
這樣就可以利用 host name 下去看了,也可以把預設 8080 port 改成 9999,另外一個問題:
Could not read datastore data from /tmp/dev_appserver.datastore
這問題其實很簡單,這只是提供一個 warning 的訊息,不會造成系統不能啟動,因為如果您是寫 hello 這隻程式,根本不需要用到 data store 自然就會提醒出這個訊息,如果該檔案沒有存在也會出現這個訊息,不過系統會在啟動自動建立,所以也不用擔心,然而如果您 compiler demo 檔案,就是 guest book 這個資料夾
系統因為剛開始找不到 dev_appserver.datastore 這個檔案,所以會有 warning 訊息,然後也會自動建立該檔案,等您下次從新啟動,這個 warning 訊息就會消失了,可以參考此 文章,您也可以利用 –datastore_path=/usr/home/hello/datastore 來改變存 data store 的地方。
參考文章:
ericsk 大大文章:
Google App Engine
Related View
