python不適合web開發(fā)的原因:
1、性能堪憂。
寫個httpserver僅僅就輸出helloworld,單機跑出一千的qps都夠嗆。而用netty,golang,nodejs隨便就上萬了。
而對于互聯(lián)網(wǎng)的web應(yīng)用來說,性能就是生命線。qps上不去,用戶就會覺得卡頓,卡頓了還談個屁的用戶體驗。
當(dāng)然也有一些方案可以增加性能,比如用異步的tornado。但玩過之后發(fā)現(xiàn)稍好,性能依然比上面提到的技術(shù)低一個檔次。還有很偏門bjoernwsgi可以極大的提高h(yuǎn)ttp的性能,但這高出來的部分,是因為bjoern是用c寫的。但,一旦運行到用python寫的業(yè)務(wù)代碼時,又慢得跟截肢了似的。
性能低應(yīng)該有兩方面的原因,
a.因為python的默認(rèn)實現(xiàn)是單線程,并且很多重要的模塊就不支持多線程。所以利用多核較為困難。當(dāng)然也不是沒有辦法,比如用多進(jìn)程來利用多核。但多進(jìn)程用起來還是不那么順手。
b.python的實現(xiàn)性能不夠好吧。JavaScript當(dāng)初也慢的可以卡出翔,后來google出手,搞出V8引擎,立即JavaScript快如閃電。最早的Java也是慢的跟蝸牛似的,后來SUN找牛人搞出了Hotspot虛擬機后,Java的性能立即發(fā)生質(zhì)的飛躍。PHP最近都有極大的性能提升。但Python就是一直這么慢
2、Python的跨平臺開發(fā)比較麻煩。
Python下要想實現(xiàn)跨平臺開發(fā)非常麻煩。
一些擴展包在windows下安裝極其麻煩,比如PIL這個著名的圖像處理包,在windows上要找到這個安裝包都不容易,而且這個包已經(jīng)不維護(hù)了,被一個叫pillow的包接替,但氣憤的是pillow這個包和PIL居然不是100%兼容的,還需要一些小改動。
另外的,有的包根本就不提供windows版,比如kyotocabinet,一個著名的的kv存儲引擎。這讓人非常頭疼。
現(xiàn)在團(tuán)隊基本所有的人都是用windows開發(fā),但程序部署卻是在linux上。
最終大家解決問題的辦法是在windows上裝個linux虛擬機,在虛擬的linux的上開發(fā),這樣就可以保持服務(wù)器和開發(fā)環(huán)境一致了。但這樣也是夠麻煩的,性能嚴(yán)重打折,虛擬機和物理機之間切換也極度麻煩。
以上內(nèi)容為大家介紹了python為什么不適合web開發(fā),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。