久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

在GAE中使用web.py

 londonKu 2012-06-08

1 前言

        GAE,全稱Google App Engine, 是一個由google提供的互聯(lián)網(wǎng)應用服務引擎,,讓開發(fā)人員可以使用GAE的API開發(fā)互聯(lián)網(wǎng)程序,,而不用擔心主機,、帶寬等問題。自己也是剛剛接觸到GAE,,尤其感興趣的是GAE能夠支持Python,。于是趕緊注冊了GAE,鼓搗了一下午,,搭建了GAE下的web.py開發(fā)環(huán)境,。期間遇到了各種問題,還是多虧了Google大神,,最后一一解決,。于是把遇到的問題都總結下來,就成了這篇博文。


2 GAE的注冊,,安裝

        GAE的申請過程并不復雜,,網(wǎng)上的教程也很多。下面簡單介紹一下整個流程:首先你需要注冊一個Gmail賬戶,,然后到GAE的主頁http://appengine.google.com/ 上用這個賬戶填寫申請 ,。之后會有一個短信驗證的過程,需要填寫一個移動或聯(lián)通的手機號碼,,(天翼的我試過了,,的確什么都收不到,后來換了個移動號,,果然很快收到驗證碼),。填好驗證碼后,下一步填一下二級域名和應用程序的名字,,提交后申請就成功,。
        下一步就是到http://code.google.com/intl/zh-CN/appengine/downloads.html  下載GAE SDK,目前官方只提供Java和Python兩個版本,。我下載了GAE SDK for Python的Linux版本,。windows版本是msi文件,直接點擊安裝即可,,而Linux版本其實更簡單,,說明文檔里就一句“Unpack the zip file”,也就是直接解壓就完事了…… 


3 在GAE中使用web.py

        GAE支持的Python版本是2.5,,而我的fedora 15上默認裝的是Python2.7.1,,擔心會有兼容性問題,于是重新下載安裝了Python2.5,。然后學著官網(wǎng)上的例子(看這里http://code.google.com/intl/zh-CN/appengine/docs/python/gettingstarted/helloworld.html ),, 寫了個最簡單的Hello World及其配置文件,放在HelloWorld文件夾下 ,。然后使用GAE SDK中提供的網(wǎng)絡服務器進行測試:

         google_appengine/dev_appserver.py HelloWorld/ 

        最初報錯:‘module’ object has no attribute ‘HTTPSHandler’, 原因是新裝的python2.5編譯的時候沒有包含ssl,所以重新編譯一下就好了,,具體見此文:http://www./?p=78
        然后又報錯:No module named _sqlite,檢查了一下,,機子上有裝sqlite,,google后,得知需要安裝sqlite-devel,,之后重新編譯即可,。
        改掉這兩個錯誤之后,再次測試報錯出來個正則表達式,,忘了copy下來,。看了下明白原來應用程序名不能用大寫字母,,于是改成helloworld,。
        之后又遇到了:google.appengine.tools.dev_appserver.AppConfigNotFoundError,這個錯誤是由于配置文件app.yaml出錯造成的,,網(wǎng)上普遍提到的是文件名一定要是app.yaml,,還在一篇博文里看到說yaml的語法非常嚴格,連空格都不能錯(具體見這里:http://blog.csdn.net/kyleinhustgs/article/details/3871031 ,,未測試),。當時自己很混亂,把這文件改了又改,,都沒搞清楚錯在哪,,總之突然就好了……
        helloworld 成功后,又拿了個的簡單web.py程序來做測試,。沒想到一來就提示找不到web模塊,,害得我還以為GAE不支持web.py。google后得知要把"/usr/local/lib/python2.5/site-packages/web" 這個目錄復制到應用程序的根目錄下去,。問題果然解決,。
        但是程序依舊不能運行,報錯:ImportError: No module named flup.server.fcgi,,google后得知在GAE中要將app.run()改成app.cgirun()才能運行,。
        最后一個問題是關于template,這個之前在web.py的官方cookbook上就有看到,。(見這里http:///cookbook/templates_on_gae ),。web.py的templetor需要把模板編譯成pyc字節(jié)碼,這需要訪問標準庫中的parser模塊,。然而GAE禁用了這個模塊,。因此必須對模板進行編譯,方法是:
        python web/template.py --compile templates.py
        注意這里的web就是上面提到的復制過來的web,,我最初沒有意識到,,以為web是應用程序所在的目錄,于是遇到了一個“500 dude,,This is whack”的錯誤,,實在是讓人啼笑皆非,還有compile前面是兩個橫杠,。編譯成功后放模板的templates文件夾下面會多一個__init__.py文件,。以后一旦更改到模板,就必須重新編譯,。
解決以上問題之后,,我GAE上的第一個web.py程序終于跑起來了……
        繼續(xù)努力,希望自己的第一個web.py應用盡早上線!

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多