每一门流行的语言背后都有支撑它的框架,Python也不另外,本文旨在介绍基于Python的6个开源的Web应用框架,并且对其兼容性、易用性等各方面进行了对比。

Python是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带服务器。其它方面,Python拥有足够多的免费数据函数库、免费的Web网页模板系统、还有与Web服务器进行交互的库、这些都可以设计到你的Web应用程序里面。

在这篇文章里,我们将为Python Web开发者回顾基于Python的6大Web应用框架。

无论你是出于爱好还是需求,这六大框架都可能会成为你工作上不错的得力助手。

 

1. Zope2

Zope 2是一款基于Python的Web应用框架,是所有Python Web应用程序、工具的鼻祖,是Python家族一个强有力的分支。

Zope 2的“对象发布”系统非常适合面向对象开发方法,并且可以减轻开发者的学习曲线,还可以帮助你发现应用程序里一些不好的功能。

下载地址:http://zope2.zope.org/releases

 

2. Web2py

Web2py是一个用Python语言编写的免费的开源Web框架,旨在敏捷快速的开发Web应用,具有快速、可扩展、安全以及可移植的数据库驱动的应用,遵循LGPLv3开源协议。

Web2py提供一站式的解决方案,整个开发过程都可以在浏览器上进行,提供了Web版的在线开发,HTML模版编写,静态文件的上传,数据库的编写的功能。其它的还有日志功能,以及一个自动化的admin接口。

下载地址:http://web2py.com/examples/default/download

相关阅读:[开源推荐]企业级Web框架Web2py

 

3. Web.py

Web.py是一个轻量级的开源Python Web框架,小巧灵活、简单并且非常强大,在使用时没有任何限制。

目前Web.py被广泛运用在许多大型网站,如西班牙的社交网站Frinki、主页日平均访问量达7000万次的Yandex等。

安装地址:http://webpy.org/install

相关阅读:[开源推荐]小巧灵活的Web框架Web.py

 

4. Pyramid

Pyramid也是一款轻量级的开源Python Web框架,是Pylons项目的一部分。

Pyramid只能运行在Python 2.x或2.4以后的版本上。在使用后端数据库时无需声明,在开发时也不会强制使用一些特定的模板系统。

下载地址:http://www.pylonsproject.org/projects/pyramid/download

 

5. Django 推荐

Django是一个开源的Web框架,并且采用MVC设计模式。

它是使用非常广泛的Python Web框架,包含许多非常实用的库来加速Web开发。

下载地址:https://www.djangoproject.com/download/

 

6. CubicWeb 

CubicWeb宣扬自己不仅是一个Web开发框架,而且还是一款语义Web开发框架。

CubicWeb使用关系查询语言(RQL Relation Query Language)与数据库之间进行通信。

下载地址:http://docs.cubicweb.org/admin/setup

 

 

六大框架评测结果如下:

 

六大框架功能对比如下:

 

英文原文InfoWorld

 

 

15个最受欢迎的Python开源框架

从GitHub中整理出的15个最受欢迎的Python开源框架。

这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。

 

1、Django 推荐

Python Web应用开发框架Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。

Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。

 

2、Diesel

基于Greenlet的事件I/O框架Diesel提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。

 

3、Flask

一个用Python编写的轻量级Web应用框架Flask是一个使用Python编写的轻量级Web应用框架。

基于Werkzeug WSGI工具箱和Jinja2模板引擎。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

 

4、Cubes

轻量级Python OLAP框架Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。

 

5、Kartograph.py

创造矢量地图的轻量级Python框架Kartograph是一个Python库,用来为ESRI生成SVG地图。

Kartograph.py目前仍处于beta阶段,你可以在virtualenv环境下来测试。

 

6、Pulsar

Python的事件驱动并发框架Pulsar是一个事件驱动的并发框架,有了pulsar,你可以写出在不同进程或线程中运行一个或多个活动的异步服务器。

 

7、Web2py

全栈式Web框架Web2py是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容Google App Engine。

 

8、Falcon

构建云API和网络应用后端的高性能Python框架Falcon是一个构建云API的高性能Python框架,它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。

 

9、Dpark

Python版的SparkDPark是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算

DPark由豆瓣实现,目前豆瓣内部的绝大多数数据分析都使用DPark完成,正日趋完善。

 

10、Buildbot

基于Python的持续集成测试框架Buildbot是一个开源框架,可以自动化软件构建、测试和发布等过程。

每当代码有改变,服务器要求不同平台上的客户端立即进行代码构建和测试,收集并报告不同平台的构建和测试结果。

 

11、Zerorpc

基于ZeroMQ的高性能分布式RPC框架Zerorpc是一个基于ZeroMQ和MessagePack开发的远程过程调用协议(RPC)实现。

和 Zerorpc 一起使用的 Service API 被称为 zeroservice。Zerorpc 可以通过编程或命令行方式调用。

 

12、Bottle

微型Python Web框架Bottle是一个简单高效的遵循WSGI的微型python Web框架。

说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。

 

13、Tornado 推荐

异步非阻塞IO的Python Web框架Tornado的全称是Torado Web Server,从名字上看就可知道它可以用作Web服务器,但同时它也是一个Python Web的开发框架。

最初是在FriendFeed公司的网站上使用,FaceBook收购了之后便开源了出来。

 

14、webpy

轻量级的Python Web框架webpy的设计理念力求精简(Keep it simple and powerful),源码很简短,只提供一个框架所必须的东西,

不依赖大量的第三方模块,它没有URL路由、没有模板也没有数据库的访问。

 

15、Scrapy 推荐

Python的爬虫框架Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。

 

 

参考推荐

10 款最好的 Python IDE

Python scrapy 安装与开发

Python pyspider 安装与开发

Python框架、库资源大全

Python六大开源框架对比

13个最受欢迎的Python开源框架

Eclipse 搭建 Python+Django开发web网站

Python Web框架Django,Pylons,Bottle,Tornado,Quixote等浅谈

Python应用快速部署:Nginx + uWSGI

Python金融股票爬虫实战源码大全