优草派  >   Python

python为什么不适合web开发?通过这两点给你详细分析

陈立鑫            来源:优草派

很多小伙伴想知道为什么python不适合web开发,那么小编就通过这篇文章来给大家分析一下python到底为什么不适合web开发呢?

python为什么不适合web开发?通过这两点给你详细分析

其实python不适合web开发主要有两个原因:一个是性能堪忧,其次是python的跨平台开发web比较麻烦。这两点不是说python不能开发web,是不是很适合做web开发。小编就分别同过这两点给大家展开说说吧。

(一)性能堪忧。

python写个http server仅仅就输出hello world,单机跑出一千的qps都够呛。而用netty,golang,nodejs随便就上万了。

而对于互联网的web应用来说,性能就是生命线。qps上不去,用户就会觉得卡顿,卡顿了还谈个屁的用户体验。就像有些网址卡的要死我们也会吐槽。

当然也有一些方案可以增加性能,比如用异步的tornado。但玩过之后发现稍好,性能依然比上面提到的技术低一个档次。还有很偏门bjoern wsgi可以极大的提高http的性能,但这高出来的部分,是因为bjoern是用c写的。但,一旦运行到用python写的业务代码时,又慢得跟截肢了似的。

性能低应该有两方面的原因,

a.因为python的默认实现是单线程,并且很多重要的模块就不支持多线程。所以利用多核较为困难。当然也不是没有办法,比如用多进程来利用多核。但多进程用起来还是不那么顺手。

b.python的实现性能不够好吧。JavaScript当初也慢的可以卡出翔,后来google出手,搞出V8引擎,立即JavaScript快如闪电。

(二)Python的跨平台开发比较麻烦。

Python下要想实现跨平台开发非常麻烦。

一些扩展包在windows下安装极其麻烦,比如PIL这个著名的图像处理包,在windows上要找到这个安装包都不容易,而且这个包已经不维护了,被一个叫pillow的包接替,但气愤的是pillow这个包和PIL居然不是100%兼容的,还需要一些小改动。

另外的,有的包根本就不提供windows版,比如kyotocabinet,一个著名的的kv存储引擎。这让人非常头疼。

现在团队基本所有的人都是用windows开发,但程序部署却是在linux上。

最终大家解决问题的办法是在windows上装个linux虚拟机,在虚拟的linux的上开发,这样就可以保持服务器和开发环境一致了。但这样也是够麻烦的,性能严重打折,虚拟机和物理机之间切换也极度麻烦。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行