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進度,超簡單)