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