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