Hello in Google App Engine [#]_ ==================================== :Author: Frankie Chow :Version: 2 :Copyright: Creative Commons licenses :Date: 2009-3-14 :Description: 此文章參考 google 的 `Hello, World`_ ! :Category: Notes, Python, GAE :ShortName: Hello in gae .. _Hello, World: http://code.google.com/intl/zh-CN/appengine/docs/python/gettingstarted/helloworld.html .. contents:: 何謂 Google App Engine =========================== `Google App Engine`_ 是 Google 提供的網上服務。使用者可以把自己所編寫的網上應用存放在 google 伺服器中。 .. _Google App Engine: http://code.google.com/intl/zh-CN/appengine/ google 亦提供它自己的 SDK 你可以從這裡下載。 download_ ! .. _download: http://code.google.com/intl/zh-CN/appengine/downloads.html 您可以因自己使用的系統下載自己需要的安裝套件,而這些套件是需要 `python2.5`_ 來運作的。 .. _python2.5: http://www.python.org/download/releases/2.5/ 在 Linux 下載 SDK 及起始設定 ========================================= 如果您是使用 Linux 作創作平台的話,您只需要簡單地下載了 SDK_ 套件後,把它解壓後就己完成了安裝的步驟。 .. _SDK: http://googleappengine.googlecode.com/files/google_appengine_1.1.0.zip 我是在家目錄下解壓的。 :: ~$ unzip google_appengine*.zip ..... ..... inflating: google_appengine/lib/yaml/setup.cfg inflating: google_appengine/lib/yaml/setup.py ..... ..... 解壓後,在家目錄下就會多了一個叫作 google_appengine 的目錄;這就是您 SDK 的安裝地方了。 開始使用 SDK ------------------- 當您開始使用 google_appengine 的時候,您也必須要先建立一個 app 的目錄;我們也先在家目錄下建立一個叫作 TestGAE 的目錄。 :: ~$ mkdir TestGAE 然後您就需要在這個目錄下建立一個叫作 app.yaml 的檔案。內容如下︰ :: application: TestGAE version: 1 runtime: python api_version: 1 handlers: - url: / script: main.py 在這裡我們最重要留意的是 application 中的名字,因為您在 `Google App Engine`_ 中登記一個 app 的時候, 也會登記了一個唯一的名字,在這裡您就需要填入當中的名字; 但是如果您只是在自己的電腦中作學習,那您就可以隨意填入自己喜好的字串了。 .. Google App Engine_: http://appengine.google.com/ 另外 version 、runtime 、 api_version 那您只要跟著以上的值填入則可以了。 [#]_ app.yaml 中的 handlers 段落 ------------------------------------- 我也希望您可以留意一下 handlers: 這段落,它的 syntax 如下︰ :: handlers: - url: / script: main.py 當 google app server 接收到一個 request ,而它的 url 為 / 時, 那 server 就會用 python 來執行家目錄下 TestGAE 下的 main.py 程式。 起動 dev_appserver.py 及作測試 =============================================== 我們要在自己電腦內作測試的話,您可以鍵入如下的指令。 :: ~$ google_appengine/dev_appserver.py TestGAE INFO ... Server: appengine.google.com INFO ... Checking for updates to the SDK. 那您就可以起動 dev_appserver 了,我們也可以透過瀏覽器瀏覽。 如果我們是在自己電腦下作測試的話,你可以試試用瀏覽器瀏覽 http://127.0.0.1:8080/ 您就會得到這樣的結果。 :: Traceback (most recent call last): .... .... CouldNotFindModuleError 當然是一個 Error ,因為您暫時仍沒有編寫 main.py 檔案。 編寫 main.py 檔案 ============================== 以下是我們的 main.py 檔案。 .. sourcecode:: python print 'Hello' 執行 main.py 程式 --------------------------------- 當然您可以試試用您的主機下用 python 來執行 main.py 檔案。 :: ~$ python main.py Hello~$ main.py 內的程式碼就是叫 python 列印出 Hello 的字樣。 使用瀏覽器瀏覽 ================================ 這時您可以改用瀏覽器作瀏覽了。請在 Firefox_ 中鍵入︰ http://127.0.0.1:8080/ 你就可以得到另一個 Hello 的字樣了。 .. _Firefox: http://www.mozilla.com/en-US/ .. [#] 參考 ref_ .. _ref: http://code.google.com/intl/en-US/appengine/docs/python/gettingstarted/helloworld.html .. [#] 其實現時的 GAE 中, runtime 和 api_version 這兩個值暫時也沒有辦法更改。