Pylons是一個(gè)Python語(yǔ)言的Web應(yīng)用程序框架,如果你簡(jiǎn)單了解過(guò)Ruby on Rails和Django,你大概會(huì)問(wèn),Pylons有什么不一樣呢?Pylons最大的特點(diǎn)是模塊化,將處理Web應(yīng)用環(huán)境下不同領(lǐng)域、不同問(wèn)題的軟件包集成在一起,形成一個(gè)整體,在提供一攬子解決方案的同時(shí),不阻礙你選擇別的替代組件。另外,Pylons是目前對(duì)WSGI標(biāo)準(zhǔn)支持最好的框架之一,未來(lái)的TurboGears 2.0也會(huì)基于Pylons構(gòu)建。
Pylons從Ruby on Rails借鑒了不少東西,比如Routes,比如WebHelpers,從表面看更像是Python版的RoR,不過(guò)底下的架構(gòu)應(yīng)該說(shuō)更加輕量和靈活,因?yàn)槟憧梢造`活選擇自己熟悉或者更貼和具體應(yīng)用實(shí)際的組件,從ORM到頁(yè)面模板,Pylons只是推薦一些大家普遍比較認(rèn)可的選項(xiàng),但并不強(qiáng)制你使用它們。
說(shuō)完和Ruby on Rails的異同,當(dāng)然也要回過(guò)頭來(lái)說(shuō)說(shuō)同樣是Python編寫(xiě)的Django。如果你只是想迅速的構(gòu)建一個(gè)可以支撐大量訪問(wèn)的Web應(yīng)用,Django是個(gè)不錯(cuò)的選擇,但和RoR一樣,你在很大程度上被限制在一定的pattern中:如果你按照Django的思路去實(shí)現(xiàn)你的應(yīng)用,你會(huì)很happy;但一旦你覺(jué)得某個(gè)組件你不喜歡、不符合某個(gè)實(shí)際要求,想要來(lái)點(diǎn)定制,你就會(huì)覺(jué)得有些伸不開(kāi)拳腳,或者工程浩大。目前感覺(jué)Django比較不爽的地方有:頁(yè)面模板較弱,表現(xiàn)力有些不足,也有人說(shuō)夠用了;ORM目前是自己的一套,暫時(shí)沒(méi)有成熟的SQLAlchemy支持,需要第三方包或者自己做;從架構(gòu)上,Django對(duì)MVC的解讀是MTV(Model-Template-View),大家都叫作controller的東東,在Django的世界里是view,以至于每次和別人解釋,都要多費(fèi)一番口舌。
Pylons目前版本是0.9.7(rc4),主要用到的第三方/獨(dú)立組件有Paste、Routes、Beaker、Mako、FormEncode、WebHelpers和SQLAlchemy。安裝方法如下:
首先你必須有Python(2.3+),然后你可以選擇直接easy_install Pylons或者新建一個(gè)Virtual Environment,和系統(tǒng)中的Python環(huán)境隔離開(kāi),依賴的包可以獨(dú)立升級(jí)。這里我們按照后一種方式,如果你是第一次使用Pylons,建議你也在獨(dú)立Python virtualenv中安裝。
1- easy_install virtualenv (這將安裝Python虛擬環(huán)境工具)
2- python virtualenv.py ENV (創(chuàng)建新的虛擬環(huán)境。這里的ENV是你新建虛擬環(huán)境的路徑,如"mydevenv")
3- source ENV/bin/activate (激活虛擬環(huán)境。如果是Windows的話,這里需要執(zhí)行ENV\bin\activate.bat)
4- easy_install Pylons (這里使用的是虛擬環(huán)境的easy_install安裝)
如果你覺(jué)得上面的步驟麻煩,Pylons開(kāi)發(fā)團(tuán)隊(duì)提供了一個(gè)腳本來(lái)處理安裝過(guò)程,下載后用Python執(zhí)行即可:
http://www.pylonshq.com/download/0.9.7/go-pylons.py
如果需要SQLAlchemy,則再執(zhí)行一下
easy_install SQLAlchemy
安裝成功后,通過(guò)
paster create -t pylons [應(yīng)用名]
即可新建Web應(yīng)用主框架,然后cd到應(yīng)用下,通過(guò)
paster serve --reload development.ini
啟動(dòng)Web服務(wù),默認(rèn)地址在
http://127.0.0.1:5000/
更詳細(xì)的信息,可參考Pylons項(xiàng)目主頁(yè):
http://pylonshq.com/
隨著使用的深入,筆者還會(huì)陸續(xù)對(duì)Pylons和其他相關(guān)組件進(jìn)行進(jìn)一步的介紹。祝各位農(nóng)歷新年快樂(lè)!