python相见恨晚的库

时间:2022-06-21 09:45:33
1)基本工具:

virtualenv(虚拟环境)
pip、setuptools (e.g. easy_install,这些东西肯定要呢)
ipython(用了以后,就不再想用普通的python shell)
ipdb(ipython上的debugger,怎么能不用?难道要一直重新运行print某变量?)
ipython notebook(又名jupyter,在线写代码并debug,这东西用了以后就知道自己错过了啥)
 记住%pylab ... 这命令,这样图片之类的直接显示在网页里

fabric(控制多个服务器、方便安装、更改设置、开关某service、等等)
nose、mock、coverage(testing类)

gevent、eventlet(千万别用python自带的多线程库)
 gevent还有从外hijack thread这个debug功能
 别忘了monkey.patch(),哈哈

multiprocessing(必要使用多个处理器、还蛮有必要)
pypy/psyco/cython/ctypes/cffi etc.(理解这些很有必要,有时候还真的需要跟C兼容或加速)
celery、luigi(同时进行多个process任务,任务之间需要沟通更方便管理)

logging
argparse(上面有人推荐docopt更好)

2)数据处理类:

numpy (千万别低估啊,谁缺少这个真的什么都干不好)

还有一些在numpy基础上的:

pillow/gd(图片数据类,还有不少图片处理功能)
matplotlib(把各种东西简单显示渲染出来)
pandas(处理复杂数据、转化或合并数据等等。用了以后就不会再import csv之类的)
scipy(统计类,也不少图片处理、优化等功能)
sklearn(机器学习,好方便)
(theano、tensorflow这些也很有名,只是还没用过,还有个有名的OCR库忘了名字)

nltk、pattern(更多语言处理工具)
pyopencl、pyopengl、pycuda(这些能让numpy做复杂任务更加强更快,利用GPU)

3)网络类:

requests(python内带的http/url等库很烦人)
django、flask、twisted(以及其他web framework,比如Zope、Button、Webapp就不说了)
(django、flask下面还有很多小库,比如messages和websocket。太多了,不说了)
pika皮卡丘(不同服务器不同程序之间的沟通大大简化)
pyzmq(也类似,更简单一些,功能比较有限,不过还能直接调用远程python函数-rpc)
sqlalchemy、pymongo、pycouch(还有好多较为方便的数据库累的)

各种google api
 特别是appengine、compute engine api,还有maps/places/search api
 还有谷歌的pipeline、mapreduce之类的、google docs那个编辑远程表格的也不错

爬虫方面也不少有用的库,比如beautifulsoup、scrapy。
还有mechanize这种自动控制多个浏览器做事的库,利用浏览器引擎等。

4)其他:

TK, WX, QT(做界面)
pyglet、pygame、等(更好处理多个界面,各令块渲染,渲染频率,这些)
geopy、shapely、gdal、geos、pyproj(地图处理,可能还有些,早就忘了)
 但是数据库一定要选择PostGIS

arrow、pendulum(python内带的datetime处理太弱了)
py2exe类(把代码直接编译成executable,所有人能运行)
simplejson(更快)
pyyaml(相对json,更好写,呵呵)
joblib(比那个pickle好太多了,直接把某object存到硬盘等)
tqdm(在命令行显示progress进度,超简单)