问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python为什么不适合web开发

发布网友 发布时间:2022-04-24 12:49

我来回答

1个回答

热心网友 时间:2022-04-07 13:03

python不适合web开发的原因:

1、性能堪忧。

写个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快如闪电。最早的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知识请关注Python视频教程栏目。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 苹果8p手机连不上无线该怎么办才好? iphone6手机设置里找不到忽略此网络设置怎么处理? 苹果8手机连不上了无线网要怎么办? iPhone7怎么忽略此网络 iPhone7怎么忽略某个wifi网络 iphone 8如何关闭无线充电 苹果手机刚开始可以连接无线网,后来某些原因忽略了这个网络,再次加入都无法加入该网络 苹果8无线网密码输错了,到哪里改 iPhone 8连不上WiFi了该怎么办? iphone 8 怎么忽略wifi密码 iphone连接wi-fi无法忽略 iPhone8怎么忽略此网络 ←_←这个符号是什么意思 →_→是什么意思 @代表什么? ~_~是什么意思? 个体营业执照丢失。怎么补办? 名下有个体工商户 能不能申请补助? 国家对工商个体户的补贴美发店有吗? 个体户工商年检忘了能补吗 如何运行在Web服务器上的Python脚本 如何使用Python进行Web数据处理 想用web端完成调度后台的python程序要怎么写 我想用python写个web界面简单执行远程linux命令 web界面要能自由填写执... 用python进行WEB开发,请问怎么才能在网页上运行脚本 python web开发 Python做的web应用程序可以在别的电脑上用吗? 如何根据一个时间字符串确定是哪一周? excel 函数 =TEXT(1,"周[DBNUM1]0") 显示 周一 C# 随机生成{"星期一","星期二","星期三","星期四","星期五","星期六","星期日"}中的某一个字符串怎么弄? MySQL数据库中,如何按本周、各个月份来查询字符串类型日期的数据... 急切求助!!!C语言的: 定义一个字符串数组week [7]或字符数组week [7][]来存放星期几。定义数组tem[7] 怎么用C语言求周期字符串最小周期 字符串转换成时间格式如何去掉自带的星期以及上下午 程序读出一个表示星期几的数字(1-7),输出对应的星期字符串名称? 如何查找字符串里面的最小周期 如何用C语言求周期字符串最小周期 java中如何将1至7的数字转换为星期日到星期六的字符串? 创建一个字符串数组weeks,使其包含周一到周日的英文名称并全部输出 形如:周三第5,6节{第3-18周},这样的字符串,java正则怎么获取18这个数字