开发者社区> 问答> 正文

python web为什么不火

python web为什么不火

展开
收起
云计算小粉 2018-05-10 20:11:07 6412 0
3 条回答
写回答
取消 提交回答
  • python在

    测试,运维

    AI

    爬虫

    大数据分析

    科学计算

    领域非常火啊。兄弟

    2019-11-20 18:09:24
    赞同 展开评论 打赏
  • 我啦啦啦啦

    所以从流行程度上讲,Python 不会超过 PHP,因为数量庞大的服务提供商无法用 Python 支撑现有的用户规模。但是这个流行程度对于创业公司、专业人士来说没有什么意义。很多核心的网络应用不适合用 PHP 的短暂请求处理机制实现(比如准实时 push 提醒、网页即时聊天等),而更加适合由常驻进程来处理。这些才是 Python,Ruby 等语言实现发挥其能量的地方。

    2019-07-17 22:25:44
    赞同 1 展开评论 打赏
  • 阿里云论坛版主,QQ 1978638808

    PHP 从语言层面上讲几乎是一无是处,具体实现的质量也乏善可陈,但它胜在最要命的部署上:没有任何其他语言有像 PHP 一样适合大规模部署的方式。基本上装好 Apache/mod_php 之后,PHP 应用的部署就简化为了复制文件。

      即便是考虑到性能原因等采用 nginx/FastCGI 等替代方式,额外的工作也只是在于最初配置。一旦配置完成,之后的部署都是文件复制。服务器重启后通常会自动启动 apache/nginx,fastcgi manager 负责启动 php-cgi 进程等,而 PHP 应用基于文件的调用方式并不需要操心更多的维护。

      这对于如 Dreamhost 之类的虚拟主机平台来说至关重要:他们通常要一台服务器处理成千上万的低流量用户,而且这些用户没有 root 权限去运行其他进程。PHP 脚本的生命周期很短,没有常驻进程,每次调用之后就被终止,对于应用作者的要求更低,不用太多的考虑资源管理问题。

      这和 Python 之流的部署有天壤之别:大部分 Python 的网络应用如 Django, Tornado 等都需要单独的常驻进程(Apache/mod_python 似乎是个杯具,而且早就不再更新了)。这些进程需要额外的维护工作以管理其启动、停止,也需要额外的监控进程处理意外退出后的重启。这需要用户对系统有更深入的了解。常驻进程需要占用系统内存,通常不可能在一台服务器上运行成百上千个应用,对于 Dreamhost 这样的服务提供商来说不适合用来处理诸如 WordPress 博客之类的简单应用。

      常驻进程也要求作者对系统资源的管理、垃圾回收机制等有更深入的了解以避免内存泄露、资源占用过度等问题。现在 Python 网络应用部署最简单的应该是 App Engine,采用了类似 PHP 的生命周期(请求处理 30 秒限制,超时被终止,无法运行常驻进程),极大简化了管理难度,但是国内无法访问…

      所以从流行程度上讲,Python 不会超过 PHP,因为数量庞大的服务提供商无法用 Python 支撑现有的用户规模。但是这个流行程度对于创业公司、专业人士来说没有什么意义。很多核心的网络应用不适合用 PHP 的短暂请求处理机制实现(比如准实时 push 提醒、网页即时聊天等),而更加适合由常驻进程来处理。这些才是 Python,Ruby 等语言实现发挥其能量的地方。

      Python 的强大之处在于语言的简洁与优雅,以及它强大的表达能力。Hacker 们愿意使用 Python 来作为他们表达思维的方式。

      在 Web 开发上面,Python部署成问题,但是对于商业网站而言,自己处理一台 VPS 不成问题。而 Python的通用性,能保证完成各种非常规的应用。

      简单地说,如果你只是需要 Web1.0 的内容展示网站,考虑php。而 Web2.0,可以考虑 Python,以及RoR。
    来源:天涯

    2019-07-17 22:25:44
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载