Python常用库大全, Python必备库, python package, 精选Python常用库, Python常用模板
Python内置库
Python 语言参考手册
Python 标准库
一、20个必不可少的Python库也是基本的第三方库
Requests.Kenneth Reitz写的最富盛名的http库。每个Python程序员都应该有它。
Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的。用过它之后你就不会再想用别的同类库了。
wxPython.Python的一个GUI(图形用户界面)工具。我主要用它替代tkinter。你一定会爱上它的。
Pillow.它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。
SQLAlchemy.一个数据库的库。对它的评价褒贬参半。是否使用的决定权在你手里。
BeautifulSoup.我知道它很慢,但这个xml和html的解析库对于新手非常有用。
Twisted.对于网络应用开发者最重要的工具。它有非常优美的api,被很多Python开发大牛使用。
NumPy.我们怎么能缺少这么重要的库?它为Python提供了很多高级的数学方法。
SciPy.既然我们提了NumPy,那就不得不提一下SciPy。这是一个Python的算法和数学工具库,它的功能把很多科学家从Ruby吸引到了Python。
matplotlib.一个绘制数据图的库。对于数据科学家或分析师非常有用。
Pygame.哪个程序员不喜欢玩游戏和写游戏?这个库会让你在开发2D游戏的时候如虎添翼。
Pyglet.3D动画和游戏开发引擎。非常有名的Python版本Minecraft就是用这个引擎做的。
pyQT.Python的GUI工具。这是我在给Python脚本开发用户界面时次于wxPython的选择。
pyGtk.也是Python GUI库。很有名的Bittorrent客户端就是用它做的。
Scapy.用Python写的数据包探测和分析库。
pywin32.一个提供和windows交互的方法和类的Python库。
nltk.自然语言工具包。我知道大多数人不会用它,但它通用性非常高。如果你需要处理字符串的话,它是非常好的库。但它的功能远远不止如此,自己摸索一下吧。
nose.Python的测试框架。被成千上万的Python程序员使用。如果你做测试导向的开发,那么它是必不可少的。
SymPy.SymPy可以做代数评测、差异化、扩展、复数等等。它封装在一个纯Python发行版本里。
IPython.怎么称赞这个工具的功能都不为过。它把Python的提示信息做到了极致。包括完成信息、历史信息、shell功能,以及其他很多很多方面。一定要研究一下它。
二、Python系统运维常用库
psutil是一个跨平台库(http://code.google.com/p/psutil/) 能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。
IPy(http://github.com/haypo/python-ipy),辅助IP规划。
dnspython(http://dnspython.org )Python实现的一个DNS工具包。
difflib:difflib作为Python的标准模块,无需安装,作用是对比文本之间的差异。
filecmp:系统自带,可以实现文件,目录,遍历子目录的差异,对比功能。
smtplib:发送电子邮件模块
pycurl(http://pycurl.sourceforge.net ) 是一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP,HTTPS,TELNET等,可以理解为Linux下curl命令功能的Python封装。
XlsxWriter:操作Excel工作表的文字,数字,公式,图表等。
rrdtool:用于跟踪对象的变化,生成这些变化的走走势图
scapy(http://www.wecdev.org/projects/scapy/ ) 是一个强大的交互式数据包处理程序,它能够对数据包进行伪造或解包,包括发送数据包,包嗅探,应答和反馈等功能。
Clam Antivirus免费开放源代码防毒软件,pyClamad,可以让Python模块直接使用ClamAV病毒扫描守护进程calmd。
pexpect:可以理解成Linux下expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。
paramiko是基于Python实现的SSH2远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。相对于Pexpect,封装的层次更高,更贴近SSH协议的功能,官网地址:http://paramiko.org (依赖:Crypto,Ecdsa,Python开发包python-devel)
fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。Fabric在paramiko的基础上做了更高一层的封装,操作起来更加简单。官网地址:http://www.fabfile.org (依赖setuptools,Crypto,paramiko包支持)
CGIHTTPRequestHandler实现对CGI的支持。
ansible(http://www.ansibleworks.com/ )一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台。基于Python实现,由Paramiko和PyYAML两个关键模块构建。Ansibl与Saltstack最大的区别是Ansible无需在被控主机上部署任何客户端,默认直接通过SSH通道进行远程命令执行或下发功能。
YAML:是一种用来表达数据序列的编程语言。
playbook:一个非常简单的配置管理和多主机部署系统。
saltstack(http://saltstack.com )是一个服务器基础架构集中化管理平台,一般可以理解为简化版的puppet和加强版的func。Saltstack基于Python语言实现,结合轻量级消息队列ZeroMQ,与Python每三方模块(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)构建。
func,为解决集群管理,监控问题需设计开发的系统管理基础框架。
三、Python 有哪些好的 Web 框架
四、标准库
itertools http://docs.python.org/2/library/itertools.html
functools http://docs.python.org/2/library/functools.html 学好python有必要掌握上面这两个库吧,
re 正则
subprocess http://docs.python.org/2/library/subprocess.html 调用shell命令的神器
pdb 调试
traceback 调试
pprint 漂亮的输出
logging 日志
threading和multiprocessing 多线程
urllib/urllib2/httplib http库,httplib底层一点,推荐第三方的库requests
os/sys 系统,环境相关
Queue 队列
pickle/cPickle 序列化工具
hashlib md5, sha等hash算法
cvs
json/simplejson python的json库,据so上的讨论和benchmark,simplejson的性能要高于json
timeit 计算代码运行的时间等等
cProfile python性能测量模块
glob 类似与listfile,可以用来查找文件
atexit 有一个注册函数,可用于正好在脚本退出运行前执行一些代码
dis python 反汇编,当对某条语句不理解原理时,可以用dis.dis 函数来查看代码对应的python 解释器指令等等。
五、常用第三方库
paramiko https://github.com/paramiko/paramiko ssh python 库
selenium https://pypi.python.org/pypi/selenium 浏览器自动化测试工具selenium的python 接口
lxml http://lxml.de/ python 解析html,xml 的神器
mechanize https://pypi.python.org/pypi/mechanize/ Stateful programmatic web browsing
pycurl https://pypi.python.org/pypi/pycurl cURL library module for Python
Fabric http://docs.fabfile.org/en/1.8/ Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
xmltodict https://github.com/martinblech/xmltodict xml 转 dict,真心好用
urllib3 和 requests: 当然其实requests就够了 Requests: HTTP for Humans
flask http://flask.pocoo.org/python web 微框架
ipdb 调试神器,同时推荐ipython!结合ipython使用
redis redis python接口
pymongo mongodbpython接口
PIL http://www.pythonware.com/products/pil/ python图像处理
mako http://www.makotemplates.org/ python模版引擎
numpy , scipy 科学计算
matplotlib 画图
scrapy 爬虫
django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服务器
sh 1.08 — sh v1.08 documentation 用来运行shell 模块的 极佳选择
六、按分类
1.环境管理(管理 Python 版本和环境的工具)
p – 非常简单的交互式 python 版本管理工具。
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper- virtualenv 的一组扩展。
2.包管理(管理包和依赖的工具)
pip – Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
3.包仓库(本地 PyPI 仓库服务和代理)
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
devpi – PyPI 服务和打包/测试/分发工具。
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
分发
4.打包(打包为可执行文件以便分发)
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
5.构建工具(将源码编译成软件)
buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
fabricate – 对任何语言自动找到依赖关系的构建工具。
PlatformIO – 多平台命令行构建工具。
PyBuilder – 纯 Python 实现的持续化构建工具。
SCons – 软件构建工具。
6.交互式解析器(交互式 Python 解析器)
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython- 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。
7.文件管理和MIME(多用途的网际邮件扩充协议)类型检测
imghdr – (Python 标准库)检测图片类型。
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
path.py – 对 os.path 进行封装的模块。
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。
Unipath- 用面向对象的方式操作文件和目录
watchdog – 管理文件系统事件的 API 和 shell 工具
8.日期和时间(操作日期和时间的类库)
arrow- 更好的 Python 日期时间操作类库。
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
dateutil – Python datetime 模块的扩展。
delorean- 解决 Python 中有关日期处理的棘手问题的库。
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。
9.文本处理(用于解析和操作文本的库)
chardet – 字符编码检测器,兼容 Python2 和 Python3。
difflib – (Python 标准库)帮助我们进行差异化比较。
ftfy – 让Unicode文本更完整更连贯。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速计算编辑距离以及字符串的相似度。
pangu.py – 在中日韩语字符和数字字母之间添加空格。
pyfiglet -figlet 的 Python实现。
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 转换形式 。
uniout – 打印可读的字符,而不是转义的字符串。
xpinyin – 一个用于把汉字转换为拼音的库。
10.Slug化
awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。
python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。
unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。
11.解析器
phonenumbers – 解析,格式化,储存,验证电话号码。
PLY – lex 和 yacc 解析工具的 Python 实现。
Pygments – 通用语法高亮工具。
pyparsing – 生成通用解析器的框架。
python-nameparser – 把一个人名分解为几个独立的部分。
python-user-agents – 浏览器 user agent 解析器。
sqlparse – 一个无验证的 SQL 解析器。
33.Queue(处理事件以及任务队列的库)
celery – 一个异步任务队列/作业队列,基于分布式消息传递。
huey – 小型多线程任务队列。
mrq – Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。
rq – 简单的 Python 作业队列。
simpleq – 一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。
34.搜索(对数据进行索引和执行搜索查询的库和软件)
django-haystack – Django 模块化搜索。
elasticsearch-py – Elasticsearch 的官方底层 Python 客户端。
elasticsearch-dsl-py -Elasticsearch 的官方高级 Python 客户端。
solrpy – solr的 Python 客户端。
Whoosh – 一个快速的纯 Python 搜索引擎库。
35.动态消息(用来创建用户活动的库)
django-activity-stream – 从你的站点行为中生成通用活动信息流。
Stream-Framework – 使用 Cassandra 和 Redis 创建动态消息和通知系统。
36.资源管理(管理、压缩、缩小网站资源的工具)
django-compressor – 将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。
django-storages – 一个针对 Django 的自定义存储后端的工具集合。
fanstatic – 打包、优化,并且把静态文件依赖作为 Python 的包来提供。
File Conveyor – 一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。
Flask-Assets – 帮你将 web 资源整合到你的 Flask app 中。
jinja-assets-compressor – 一个 Jinja 扩展,用来编译和压缩你的资源。
webassets – 为你的静态资源打包、优化和管理生成独一无二的缓存 URL。
37.缓存(缓存数据的库)
Beaker – 一个缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。
django-cache-machine – Django 模型的自动缓存和失效。
django-cacheops- 具有自动颗粒化事件驱动失效功能的 ORM。
django-viewlet – 渲染模板,同时具有额外的缓存控制功能。
dogpile.cache – dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。
HermesCache – Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。
johnny-cache – django应用缓存框架。
pylibmc – libmemcached 接口的 Python 封装。
38.电子邮件(用来发送和解析电子邮件的库)
django-celery-ses – 带有 AWS SES 和 Celery 的 Django email 后端。
envelopes – 供人类使用的电子邮件库。
flanker – 一个 email 地址和 Mime 解析库。
imbox – Python IMAP 库
inbox.py – Python SMTP 服务器。
inbox – 一个开源电子邮件工具箱。
lamson – Python 风格的 SMTP 应用服务器。
mailjet – Mailjet API 实现,用来提供批量发送邮件,统计等功能。
marrow.mailer – 高性能可扩展邮件分发框架。
modoboa – 一个邮件托管和管理平台,具有现代的、简约的 Web UI。
pyzmail – 创建,发送和解析电子邮件。
Talon – Mailgun 库,用来抽取信息和签名。
39.国际化(用来进行国际化的库)
Babel – 一个Python 的国际化库。
Korean – 一个韩语词态库。
40.URL处理(解析URLs的库)
furl – 一个让处理 URL 更简单小型 Python 库。
purl – 一个简单的,不可变的URL类,具有简洁的 API 来进行询问和处理。
pyshorteners – 一个纯 Python URL 缩短库。
shorturl- 生成短小 URL 和类似 http://bit.ly 短链的Python 实现。
webargs – 一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。
41.HTML处理(处理 HTML和XML的库)
BeautifulSoup – 以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。
bleach – 一个基于白名单的 HTML 清理和文本链接库。
cssutils – 一个 Python 的 CSS 库。
html5lib – 一个兼容标准的 HTML 文档和片段解析及序列化库。
lxml – 一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。
MarkupSafe – 为Python 实现 XML/HTML/XHTML 标记安全字符串。
pyquery – 一个解析 HTML 的库,类似 jQuery。
untangle – 将XML文档转换为Python对象,使其可以方便的访问。
xhtml2pdf – HTML/CSS 转 PDF 工具。
xmltodict – 像处理 JSON 一样处理 XML。
42.网络站点爬取(爬取网络站点的库)
Scrapy – 一个快速高级的屏幕爬取及网页采集框架。
cola – 一个分布式爬虫框架。
Demiurge – 基于PyQuery 的爬虫微型框架。
feedparser – 通用 feed 解析器。
Grab – 站点爬取框架。
MechanicalSoup – 用于自动和网络站点交互的 Python 库。
portia – Scrapy 可视化爬取。
pyspider – 一个强大的爬虫系统。
RoboBrowser – 一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。
43.网页内容提取(用于进行网页内容提取的库)
Haul – 一个可以扩展的图像爬取工具。
html2text – 将 HTML 转换为 Markdown 格式文本
lassie – 人性化的网页内容检索库。
micawber -一个小型网页内容提取库,用来从 URLs 提取富内容。
newspaper – 使用 Python 进行新闻提取,文章提取以及内容策展。
opengraph – 一个用来解析开放内容协议(Open Graph Protocol)的 Python模块。
python-goose – HTML内容/文章提取器。
python-readability- arc90 公司 readability 工具的 Python 高速端口
sanitize – 为杂乱的数据世界带来调理性。
sumy – 一个为文本文件和 HTML 页面进行自动摘要的模块。
textract – 从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。
44.表单(进行表单操作的库)
Deform – Python HTML 表单生成库,受到了 formish 表单生成库的启发。
django-bootstrap3- 集成了 Bootstrap 3 的 Django。
django-crispy-forms – 一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don’t 4. repeat yourself) 的方式来创建美观的表单。
django-remote-forms- 一个平台独立的 Django 表单序列化工具。
WTForms – 一个灵活的表单验证和呈现库。
WTForms-JSON- 一个 WTForms 扩展,用来处理 JSON 数据。
45.数据验证(数据验证库)
Cerberus – A mappings-validator with a variety of rules, normalization- features and simple customization that uses a pythonic schema-definition.
colander – 一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。
kmatch – 一种用于匹配/验证/筛选 Python 字典的语言。
schema -一个用于对 Python 数据结构进行验证的库。
Schematics – 数据结构验证。
valideer – 轻量级可扩展的数据验证和适配库。
voluptuous – 一个 Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。
46.反垃圾技术(帮助你和电子垃圾进行战斗的库)
django-simple-captcha – 一个简单、高度可定制的Django 应用,可以为任何Django表单添加验证码。
django-simple-spam-blocker- 一个用于Django的简单的电子垃圾屏蔽工具。
47.标记(用来进行标记的库)
django-taggit – 简单的 Django 标记工具。
48.管理面板(管理界面库)
Ajenti – 一个你的服务器值得拥有的管理面板。
django-suit – Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。
django-xadmin – Django admin 的一个替代品,具有很多不错的功能。
flask-admin – 一个用于 Flask 的简单可扩展的管理界面框架。
flower – 一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。
Grappelli – Django 管理界面的一个漂亮的皮肤。
Wooey – 一个 Django 应用,可以为 Python 脚本创建 web 用户界面。
49.静态站点生成器(静态站点生成器是一个软件,它把文本和模板作为输入,然后输出HTML文件)
Pelican – 使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS,Disqus.。AGPL 许可。
Cactus – 为设计师设计的静态站点生成器。
Hyde – 基于 Jinja2 的静态站点生成器。
Nikola – 一个静态网站和博客生成器。
Tinkerer – Tinkerer 是一个博客引擎/静态站点生成器,由Sphinx驱动。
Lektor – 一个简单易用的静态 CMS 和博客引擎。
50.进程(操作系统进程启动及通信库)
envoy – 比 Python subprocess 模块更人性化。
sarge – 另一 种 subprocess 模块的封装。
sh – 一个完备的 subprocess 替代库。
51.并发和并行(用以进行并发和并行操作的库)
multiprocessing – (Python 标准库) 基于进程的“线程”接口。
threading – (Python 标准库)更高层的线程接口。
eventlet – 支持 WSGI 的异步框架。
gevent – 一个基于协程的 Python 网络库,使用greenlet。
Tomorrow -用于产生异步代码的神奇的装饰器语法实现。
52.网络(用于网络编程的库)
asyncio – (Python 标准库) 异步 I/O, 事件循环, 协程以及任务。
Twisted – 一个事件驱动的网络引擎。
pulsar – 事件驱动的并发框架。
diesel – 基于Greenlet 的事件 I/O 框架。
pyzmq – 一个 ZeroMQ 消息库的 Python 封装。
txZMQ – 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。
53.WebSocket(帮助使用WebSocket的库)
AutobahnPython – 给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。
Crossbar – 开源统一应用路由(Websocket & WAMP for Python on Autobahn).
django-socketio – 给 Django 用的 WebSockets。
WebSocket-for-Python – 为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。
54.WSGI服务器(兼容WSGI的web服务器)
gunicorn – Pre-forked, 部分是由 C 语言编写的。
uwsgi – uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。
bjoern – 异步,非常快速,由 C 语言编写。
fapws3 – 异步 (仅对于网络端),由 C 语言编写。
meinheld – 异步,部分是由 C 语言编写的。
netius – 异步,非常快速。
paste – 多线程,稳定,久经考验。
rocket – 多线程。
waitress – 多线程, 是它驱动着 Pyramid 框架。
Werkzeug – 一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。
55.RPC服务器(兼容 RPC 的服务器)
SimpleJSONRPCServer – 这个库是 JSON-RPC 规范的一个实现。
SimpleXMLRPCServer – (Python 标准库) 简单的 XML-RPC 服务器实现,单线程。
zeroRPC – zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。
56.密码学
cryptography – 这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。
hashids – 在 Python 中实现 hashids 。
Paramiko – SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。
Passlib – 安全密码存储/哈希库,
PyCrypto – Python 密码学工具箱。
PyNacl – 网络和密码学(NaCl) 库的 Python 绑定。
57.图形用户界面(用来创建图形用户界面程序的库)
curses – 内建的 ncurses 封装,用来创建终端图形用户界面。
enaml – 使用类似 QML 的Declaratic语法来创建美观的用户界面。
kivy – 一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS平台上。
pyglet – 一个Python 的跨平台窗口及多媒体库。
PyQt – 跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4 和 Qt v5。
PySide – P跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4。
Tkinter – Tkinter 是 Python GUI 的一个事实标准库。
Toga – 一个 Python 原生的, 操作系统原生的 GUI 工具包。
urwid – 一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。
wxPython – wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。
PyGObject – GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定
Flexx – Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。
58.游戏开发(超赞的游戏开发库)
Cocos2d – cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。
Panda3D – 由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用C++编1. 写, 针对 Python 进行了完全的封装。
Pygame – Pygame 是一组 Python 模块,用来编写游戏。
PyOgre – Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。
PyOpenGL – OpenGL 的 Python 绑定及其相关 APIs。
PySDL2 – SDL2 库的封装,基于 ctypes。
RenPy – 一个视觉小说(visual novel)引擎。
59.日志(用来生成和操作日志的库)
logging – (Python 标准库) 为 Python 提供日志功能。
logbook – Logging 库的替代品。
Eliot – 为复杂的和分布式系统创建日志。
Raven – Sentry的 Python 客户端。
Sentry – 实时记录和收集日志的服务器。
60.测试(进行代码库测试和生成测试数据的库)
测试框架
unittest – (Python 标准库) 单元测试框架。
nose – nose 扩展了 unittest 的功能。
contexts – 一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的启发。
hypothesis – Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。
mamba – Python 的终极测试工具, 拥护BDD。
PyAutoGUI – PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。
pyshould- Should 风格的断言,基于 PyHamcrest。
pytest- 一个成熟的全功能 Python 测试工具。
green- 干净,多彩的测试工具。
pyvows- BDD 风格的测试工具,受Vows.js的启发。
Robot Framework – 一个通用的自动化测试框架。
Web测试
Selenium – Selenium WebDriver 的 Python 绑定。
locust – 使用 Python 编写的,可扩展的用户加载测试工具。
sixpack – 一个和语言无关的 A/B 测试框架。
splinter – 开源的 web 应用测试工具。
Mock测试
mock – (Python 标准库) 一个用于伪造测试的库。
doublex – Python 的一个功能强大的 doubles 测试框架。
freezegun – 通过伪造日期模块来生成不同的时间。
httmock – 针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。
httpretty – Python 的 HTTP 请求 mock 工具。
responses – 伪造 Python 中的 requests 库的一个通用库。
VCR.py – 在你的测试中记录和重放 HTTP 交互。
对象工厂
factoryboy – 一个 Python 用的测试固件 (test fixtures) 替代库。
mixer – 另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。
modelmommy – 为 Django 测试创建随机固件
代码覆盖率
coverage – 代码覆盖率测量。
伪数据
faker – 一个 Python 库,用来生成伪数据。
fake2db – 伪数据库生成器。
radar – 生成随机的日期/时间。
错误处理
FuckIt.py – FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。
61.代码分析和Lint工具(进行代码分析,解析和操作代码库的库和工具)
代码分析
code2flow – 把你的 Python 和 JavaScript 代码转换为流程图。
pycallgraph -这个库可以把你的Python 应用的流程(调用图)进行可视化。
pysonar2 – Python 类型推断和检索工具。
Lint工具
Flake8 – 模块化源码检查工具: pep8, pyflakes 以及 co。
Pylint – 一个完全可定制的源码分析器。
pylama – Python 和 JavaScript 的代码审查工具。
62.调试工具(用来进行代码调试的库)
调试器
ipdb – IPython 启用的 pdb。
pudb – 全屏,基于控制台的 Python 调试器。
pyringe – 可以在 Python 进程中附加和注入代码的调试器。
wdb – 一个奇异的 web 调试器,通过 WebSockets 工作。
winpdb – 一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。
django-debug-toolbar – 为 Django 显示各种调试信息。
django-devserver – 一个 Django 运行服务器的替代品。
flask-debugtoolbar – django-debug-toolbar 的 flask 版。
性能分析器
lineprofiler – 逐行性能分析。
memoryprofiler – 监控 Python 代码的内存使用。
profiling – 一个交互式 Python 性能分析工具。
其他
pyelftools – 解析和分析 ELF 文件以及 DWARF 调试信息。
python-statsd – statsd 服务器的 Python 客户端。
63.科学技术和数据分析(用来进行科学计算和数据分析的库)
astropy – 一个天文学 Python 库。
bcbio-nextgen – 这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。
bccb – 生物分析相关代码集合
Biopython – Biopython 是一组可以免费使用的用来进行生物计算的工具。
blaze – NumPy 和 Pandas 的大数据接口。
cclib – 一个用来解析和解释计算化学软件包输出结果的库。
NetworkX – 一个为复杂网络设计的高性能软件。
Neupy – 执行和测试各种不同的人工神经网络算法。
Numba – Python JIT (just in time) 编译器,针对科学用的 Python ,由Cython 和 NumPy 的开发者开发。
NumPy – 使用 Python 进行科学计算的基础包。
Open Babel – 一个化学工具箱,用来描述多种化学数据。
Open Mining – 使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。
orange – 通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。
Pandas – 提供高性能,易用的数据结构和数据分析工具。
PyDy – PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。
PyMC – 马尔科夫链蒙特卡洛采样工具。
RDKit – 化学信息学和机器学习软件。
SciPy – 由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。
statsmodels – 统计建模和计量经济学。
SymPy – 一个用于符号数学的 Python 库。
zipline – 一个 Python 算法交易库。
64.数据可视化(进行数据可视化的库)
matplotlib – 一个 Python 2D 绘图库。
bokeh – 用 Python 进行交互式 web 绘图。
ggplot – ggplot2 给 R 提供的 API 的 Python 版本。
plotly – 协同 Python 和 matplotlib 工作的 web 绘图库。
pygal – 一个 Python SVG 图表创建工具。
pygraphviz – Graphviz 的 Python 接口。
PyQtGraph – 交互式实时2D/3D/图像绘制及科学/工程学组件。
SnakeViz – 一个基于浏览器的 Python’s cProfile 模块输出结果查看工具。
vincent – 把 Python 转换为 Vega 语法的转换工具。
VisPy – 基于 OpenGL 的高性能科学可视化工具。
65.计算机视觉(计算机视觉库)
OpenCV – 开源计算机视觉库。
SimpleCV – 一个用来创建计算机视觉应用的开源框架。
66.机器学习(机器学习库)
Crab – 灵活、快速的推荐引擎。
gensim – 人性化的话题建模库。
hebel – GPU 加速的深度学习库。
NuPIC – 智能计算 Numenta 平台。
pattern – Python 网络挖掘模块。
PyBrain – 另一个 Python 机器学习库。
Pylearn2 – 一个基于 Theano 的机器学习库。
python-recsys – 一个用来实现推荐系统的 Python 库。
scikit-learn – 基于 SciPy 构建的机器学习 Python 模块。
pydeep – Python 深度学习库。
vowpalporpoise – 轻量级 Vowpal Wabbit 的 Python 封装。
skflow – 一个 TensorFlow 的简化接口(模仿 scikit-learn)。
67.MapReduce(MapReduce 框架和库)
dpark – Spark 的 Python 克隆版,一个类似 MapReduce 的框架。
dumbo – 这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。
luigi – 这个模块帮你构建批处理作业的复杂流水线。
mrjob – 在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务。
PySpark – Spark 的 Python API 。
streamparse – 运行针对事实数据流的 Python 代码。集成了Apache Storm。
68.函数式编程(使用 Python 进行函数式编程)
CyToolz – Toolz 的 Cython 实现 : 高性能函数式工具。
fn.py – 在 Python 中进行函数式编程 : 实现了一些享受函数式编程缺失的功能。
funcy – 炫酷又实用的函数式工具。
Toolz – 一组用于迭代器,函数和字典的函数式编程工具。
69.第三方API(用来访问第三方API的库)
apache-libcloud – 一个为各种云设计的 Python 库。
boto – Amazon Web Services 的 Python 接口。
django-wordpress – WordPress models and views for Django.
facebook-sdk – Facebook 平台的 Python SDK.
facepy – Facepy 让和 Facebook’s Graph API 的交互变得更容易。
gmail – Gmail 的 Python 接口。
google-api-python-client – Python 用的 Google APIs 客户端库。
gspread – Google 电子表格的 Python API.
twython – Twitter API 的封装。
70.DevOps工具(用于DevOps 的软件和库)
Ansible – 一个非常简单的 IT 自动化平台。
SaltStack – 基础设施自动化和管理系统。
OpenStack – 用于构建私有和公有云的开源软件。
Docker Compose – 快速,分离的开发环境,使用 Docker。
Fabric – 一个简单的,Python 风格的工具,用来进行远程执行和部署。
cuisine – 为 Fabric 提供一系列高级函数。
Fabtools – 一个用来编写超赞的 Fabric 文件的工具。
gitapi – Git 的纯 Python API。
hgapi – Mercurial 的纯 Python API。
honcho – Foreman的 Python 克隆版,用来管理基于Procfile的应用。
pexpect – Controlling interactive programs in a pseudo-terminal like 在一个伪终端中控制交互程序,就像 GNU expect 一样。
psutil – 一个跨平台进程和系统工具模块。
supervisor – UNIX 的进程控制系统。
71.任务调度(任务调度库)
APScheduler – 轻巧但强大的进程内任务调度,使你可以调度函数。
django-schedule – 一个 Django 排程应用。
doit – 一个任务执行和构建工具。
gunnery – 分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。
Joblib – 一组为 Python 提供轻量级作业流水线的工具。
Plan – 如有神助地编写 crontab 文件。
schedule – 人性化的 Python 任务调度库。
Spiff – 使用纯 Python 实现的强大的工作流引擎。
TaskFlow – 一个可以让你方便执行任务的 Python 库,一致并且可靠。
72.外来函数接口(使用外来函数接口的库)
cffi – 用来调用 C 代码的外来函数接口。
ctypes – (Python 标准库) 用来调用 C 代码的外来函数接口。
PyCUDA – Nvidia CUDA API 的封装。
SWIG – 简化的封装和接口生成器。
73.高性能(让Python更快的库)
Cython – 优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。
PeachPy – 嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 Go 。
PyPy – 使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。
Pyston – 使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。
Stackless Python – 一个强化版的 Python。
74.微软的Windows平台(在Windows平台上进行Python编程)
Python(x,y) – 面向科学应用的 Python 发行版,基于 Qt 和 Spyder。
pythonlibs – 非官方的 Windows 平台 Python 扩展二进制包。
PythonNet – Python 与 .NET 公共语言运行库 (CLR)的集成。
PyWin32 – 针对 Windows 的Python 扩展。
WinPython – Windows 7/8 系统下便携式开发环境。
75.网络可视化和SDN(用来进行网络可视化和SDN(软件定义网络)的工具和库)
Mininet – 一款流行的网络模拟器以及用 Python 编写的 API。
POX – 一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。
Pyretic – 火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。
SDX Platform – 基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。
76.硬件(用来对硬件进行编程的库)
ino -操作Arduino的命令行工具。
Pyro – Python 机器人编程库。
PyUserInput – 跨平台的,控制鼠标和键盘的模块。
scapy – 一个非常棒的操作数据包的库。
wifi – 一个 Python 库和命令行工具用来在 Linux 平台上操作WiFi。
Pingo – Pingo 为类似Raspberry Pi,pcDuino, Intel Galileo等设备提供统一的API用以编程。
77.兼容性(帮助从Python2向Python3迁移的库)
Python-Future – 这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。
Python-Modernize – 使 Python 代码更加现代化以便最终迁移到 Python 3。
Six – Python 2 和 3 的兼容性工具。
78.杂项(不属于上面任何一个类别,但是非常有用的库)
blinker – 一个快速的 Python 进程内信号/事件分发系统。
itsdangerous – 一系列辅助工具用来将可信的数据传入不可信的环境。
pluginbase – 一个简单但是非常灵活的 Python 插件系统。
Pychievements – 一个用来创建和追踪成就的 Python 框架。
Tryton – 一个通用商务框架。
79.算法和设计模式(Python 实现的算法和设计模式)
algorithms -一个 Python 算法模块
python-patterns – Python 设计模式的集合。
sortedcontainers – 快速,纯 Python 实现的SortedList,SortedDict 和 SortedSet 类型。
80.编辑器插件(编辑器和IDE的插件)
Emacs
Elpy – Emacs Python 开发环境。
Sublime Text
SublimeJEDI – 一个 Sublime Text 插件,用来使用超赞的自动补全库 Jedi。
Anaconda – Anaconda 把你的 Sublime Text 3 变成一个功能齐全的 Python IDE。
Vim
YouCompleteMe – 引入基于 Jedi 的 Python 自动补全引擎。
Jedi-vim – 绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全。
Python-mode – 将 Vim 变成 Python IDE 的一款多合一插件。
Visual Studio
PTVS – Visual Studio 的 Python 工具
81.集成开发环境(流行的Python集成开发环境)
PyCharm – 商业化的 Python IDE ,由 JetBrains 开发。也有免费的社区版提供。
LiClipse – 基于 Eclipse 的免费多语言 IDE 。使用 PyDev 来支持 Python 。
Spyder – 开源 Python IDE。
82.持续集成
Travis CI – 一个流行的工具,为你的开源和私人项目提供持续集成服务。(仅支持 GitHub)
CircleCI – 一个持续集成工具,可以非常快速的进行并行测试。 (仅支持 GitHub)
Vexor CI – 一个为私人 app 提供持续集成的工具,支持按分钟付费。
Wercker – 基于 Docker 平台,用来构建和部署微服务。
83.代码质量
Codacy – 自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。
QuantifiedCode – 一个数据驱动、自动、持续的代码审查工具。
保持学习,否则迟早要被淘汰*(^ 。 ^ )***
本文:Python常用库大全, Python必备库, python package, 精选Python常用库, Python常用模板
Related Posts
23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博、Bilibili、京东等 今天为大家整理了23个Python爬虫项目。整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心。所有链接指向GitHub,祝大家玩的愉快 1、WechatSogou [1]– 微信公众号爬虫。 基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。 github地址:https://github.com/Chyroc/WechatSogou 2、DouBanSpider [2]–…