欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

几种最受欢迎的Python开源框架

程序员文章站 2022-05-26 17:55:21
...
从GitHub中整理出的一些最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。

Django:PythonWeb应用开发框架

Django应该是最出名的Python框架,是一个开放源代码的Web应用框架,采用了MTV的框架模式,即模型M,模板T和视图V。Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。

Django的优势之一是只需要单独的安装包来安装。其他的一些类似的框架需要下载很多组件才能开始工作。而且,Django还有完善的保持更新的文档。

Diesel:基于Greenlet的事件I/O框架

Diesel提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。非阻塞I/O使得diesel非常快速并且容易扩展,提供一个整洁的API来编写网络客户端和服务器。

Flask:一个用Python编写的轻量级Web应用框架

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

Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。

Flask有以下特点:

内建的单元测试支持
模板使用Jinjia2
大量文档
客户端会话使用安全cookies
开发服务器和调试器
Restful请求
与WSGI 1.0兼容
基于unicode
大量的扩展Flask是一个年轻的框架,2010年诞生,Flask的目标是不给程序员强加限制,允许你使用自己的数据库对象关系映射,模板引擎,会话中间件以及你的项目所需的其他组件,在我看来这就是这个微框架的用意。我想说像Flask这样的框架更适合有经验的开发者,并不是小规模应用程序所必须的,当然,如果你只想做一个简单的REST API,那么Flask当然再好不过了。

Cubes:轻量级PythonOLAP框架

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

Kartograph.py:创造矢量地图的轻量级Python框架

Kartograph是一个Python库,用来为ESRI生成SVG地图。Kartograph.py目前仍处于beta阶段,你可以在virtualenv环境下来测试。

Pulsar:Python的事件驱动并发框架

是一个来自eBay的高扩展性、高可用性、基于事件驱动的开源实时分析平台和流处理框架,它能够实时收集和处理用户行为和业务事件。有了pulsar,你可以写出在不同进程或线程中运行一个或多个活动的异步服务器。

Web2py:全栈式Web框架

Web2py是一个为Python语言提供的全功能Web应用框架,允许开发者快速创建动态交互式的网站。它的设计目标是消除拖慢开发的大量重复编程任务,比如创建基本的表格,在最初是作为工具开发的。旨具有快速、安全以及可移植的数据库驱动的应用,兼容GoogleAppEngine。

web2py的一些优点包括:

容易使用——作为一个鲁棒的全栈式框架,它无需其他依赖就可以工作,容易学习和部署,安装也无需任何配置文件,一旦下载完成,安装完毕,就可以用了。开发者会获得一个数据库,一个基于web的IDE,web服务器以及一个有多个核心对象组成的强大API。
安全性出色——Web2py的模板语言减少了黑客使用跨站脚本的危险,抽象层在创建表单时有表单域有效性检查,避免SQL注入,也阻止了跨站请求伪造攻击(csrf攻击)。会话被存储在服务器上,阻止坏的执行者把浏览器cookie弄乱,并且每个密码都是哈希后存储的。

web2py的一些缺点包括:

在常规基础上使用管理的接口不太容易
管理的接口没有权限
没有内建的单元测试支持
开发速度迅速,所有的函数都有缺省行为,表单时自动生成的,高层次的小部件和应用网格都是内建的。

Falcon:构建云API和网络应用后端的高性能Python框架

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

Dpark:Python版的Spark

DPark是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。DPark由豆瓣实现,目前豆瓣内部的绝大多数数据分析都使用DPark完成,正日趋完善。

Buildbot:基于Python的持续集成测试框架

Buildbot是一个开源框架,可以自动化软件构建、测试和发布等过程。每当代码有改变,服务器要求不同平台上的客户端立即进行代码构建和测试,收集并报告不同平台的构建和测试结果。

Zerorpc:基于ZeroMQ的高性能分布式RPC框架

Zerorpc是一个基于ZeroMQ和MessagePack开发的远程过程调用协议(RPC)实现。和Zerorpc一起使用的ServiceAPI被称为zeroservice。Zerorpc可以通过编程或命令行方式调用。

Bottle:微型PythonWeb框架

Bottle是一个简单高效的遵循WSGI的微型pythonWeb框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。

Tornado:异步非阻塞IO的PythonWeb框架

Tornado的全称是ToradoWebServer,是一种 Web 服务器软件的开源版本,同时也是一个PythonWeb的开发框架。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。 得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。

特点:

作为Web框架,是一个轻量级的Web框架,类似于另一个Python web框架Web.py,其拥有异步非阻塞IO的处理方式。
作为Web服务器,Tornado有较为出色的抗负载能力,官方用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,结果最大浏览量超过第二名近40%。

webpy:轻量级的PythonWeb框架

webpy的设计理念力求精简(Keepitsimpleandpowerful),源码很简短,只提供一个框架所必须的东西,不依赖大量的第三方模块,它没有URL路由、没有模板也没有数据库的访问。

Scrapy:Python的爬虫框架

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

Numpy:开源的Python科学计算库

是一个开源的、高性能的Python数值计算库为提高运算效率,提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

相关标签: 网站建设 python