接觸GAE有一段時間了,時間閒置話還能寫寫代碼,看看別人的源碼。感覺一切都很熟悉,至少不是陌生的感覺。DataStore方面由於不是使用的傳統的關係型資料庫,雖然使用的介面GQL跟原始的SQL長的越看越像兄弟,其實掩藏著很多限制,不能join就是最大的痛苦,所以很多原來基於關聯式模式的設計都要有所變化。但是有利有弊,比如ListProperty類型的加入可以巧妙地解決很多集合屬性的類型的設計問題。另外就是偵錯工具的問題,原來print+python的敏捷特性也就足夠了,現在每天就是盯著dev_appserver.py的輸出控制台看,就不夠Agile啦。很早前就看到dw上的一篇文章介紹用PyDEv來開發GAE,今天總算有時間實踐一下了,順便做一下筆記吧。
安裝設定PyDev
使用更新網站 http://pydev.sourceforge.net/updates/ 從 Eclipse 內下載 PyDev,就可以將 Eclipse 轉換為一個 Python IDE。安裝 PyDev 之後,需要配置它。開啟 Eclipse 並轉到 Preferences > PyDev。
您需要把 Python 安裝位置告訴 PyDev。轉到 Interpreter > Python 並單擊 New,如上所示。只需瀏覽到 Python V2.5+ 安裝,然後 Eclipse 應當會執行剩餘操作。單擊 OK,然後您將準備好從 Eclipse 中開發 Python。
調試你的程式
GAE SDK 將提供在本地運行項目的命令列工具。但是,我們希望利用 Eclipse,因此需要從 Eclipse 中運行所有內容。這將允許我們調試應用程式,稍後我們將看到。運行應用程式的第一步是編輯項目的 PYTHONPATH。完成此操作的最簡單方法是在項目上按右鍵並選擇 Properties。這將開啟項目屬性。
在 Main Module 下,瀏覽到 $APP_ENGINE_HOME 並選擇 dev_appserver.py 指令碼。這是類比 GAE 生產環境的 Python 應用伺服器。接下來,轉到 Arguments 選項卡。
在 Program arguments 框中,輸入 ${project_loc}/src。Eclipse 變數 ${project_loc} 僅指向當前項目的物理位置。需要將應用程式目錄傳遞給 dev_appserver.py 指令碼,因而傳遞給 /src。clipse 將智能地把預設值設為先前建立的 Run 回合設定。無需修改,並且只需單擊Debug就可以方便的調試的GAE了。
補充一個問題:項目第二次啟動時,有可能會報錯“Variable references empty selection: ${project_loc}”,Project > Clear 或是“重新整理一下工程”應該可以解決這個問題。
在左側菜單中選擇 PyDev - PYTHONPATH。然後需要選擇 Add source folder 並瀏覽到 GAE SDK 的安裝位置。運行項目還需要建立一個 Run 設定檔。為此,選擇 Run > Open Run 對話方塊。