python相見恨晚的庫


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進度,超簡單)
相關文章
相關標籤/搜索