2018年P(guān)ython值得關(guān)注的開源庫、工具和開發(fā)者
1、開源庫
Web 領(lǐng)域:Sanic
這個庫的名字和之前一個很火的梗有關(guān),有人在 youtube 上畫 Sonic 那個藍(lán)色小人,結(jié)果一本正經(jīng)的畫出了下面這貨,給它起名叫 Sanic,還配了一句話是 Gotta go faster.
這個庫和 Flask 類似,但是比它快很多,速度能在測試中達(dá)到每秒 36000 次請求。在2017年的 Star 增長數(shù)幾乎是翻了一倍。Gotta go faster!
環(huán)境與包管理:Pipenv
這個庫相當(dāng)于是環(huán)境管理和包管理二合一,由 Kenneth Reitz (Requests 的作者 )編寫,現(xiàn)在移交給 Python 官方來維護(hù),提供比 pip 體驗更好的開發(fā)包管理。它的 Slogon 是Python Development Workflow for Humans,用來解決各種環(huán)境不一致、安裝包的問題。
爬蟲:Requestium
現(xiàn)在反爬蟲技術(shù)越來越厲害,常見的請求 + 解析爬蟲隨著頻率變大和前端開發(fā)的復(fù)雜化變得并不是那么奏效。Requestium 的好處是,結(jié)合了 Chrome 59 以后的 headless 無頭特性(代替了 phantomjs)。雖然效率稍微低一點,但是穩(wěn),前端渲染的網(wǎng)頁也可以爬取解析。是 Requests, Selenium 和 Parsel 的結(jié)合體。
深度學(xué)習(xí):Caffe2
是一個深度學(xué)習(xí)的庫,優(yōu)勢是它是由 Facebook 團(tuán)隊來維護(hù)的??赡苌疃葘W(xué)習(xí)方面大家聽得最多的是 Tensorflow,但 Caffe2 學(xué)習(xí)起來更簡單輕量,并且它的背景能支持它有一個健壯的發(fā)展。
文本處理:FlashText
這個庫的開發(fā)者在 medium 上發(fā)了一篇文章,標(biāo)題是:Regex was taking 5 days to run. So I built a tool that did it in 15 minutes. (正則要花5天時間才能完成,所以我做了個工具在15分鐘內(nèi)搞定)。這個庫可以快速進(jìn)行大規(guī)模語料庫的文本搜索與替換。當(dāng)關(guān)鍵詞數(shù)量>500 的時候,F(xiàn)lashText 的搜索速度開始超過正則。
2、工具
***終端:Upterm
其實本來想推薦 fish 或者 zsh,但其實這兩個我也主要是貪圖自動補全這個特性。最近在用的這個 Upterm 其實很簡單好用,它是一個全平臺的終端,可以說是終端里的 IDE,有著強大的自動補全功能。之前的名字叫 BlackWindow,有人跟他說這個名字不利于社區(qū)推廣,改名叫 Upterm 之后現(xiàn)在已經(jīng)17000+ Star了。
交互式解釋器:Ptpython
一個交互式的 Python 解釋器。支持語法高亮、提示甚至是 vim 和 emacs 的鍵入模式。其實我們在課程里提供的在線終端也內(nèi)置了 ptpython。
包管理必備:Anaconda
真的要強烈推薦 Anaconda ,它能幫你安裝好許多麻煩的東西,包括: Python 環(huán)境、pip 包管理工具、常用的庫、配置好環(huán)境路徑等等。這些事情小白自己一個個去做的話,容易遇到各種問題,帶來挫敗感。
如果你想用 Python 搞數(shù)據(jù)方面的事情,就安裝它就好了,它甚至開發(fā)了一套 JIT 的解釋器 Numba。所以 Anaconda 有了 JIT 之后,對線上科學(xué)計算效率要求比較高的東西也可以搞了。
編輯器:Sublime3
無意引發(fā)編輯器大戰(zhàn),小白的話當(dāng)然還是要從 PyCharm 開始上手,但有時候?qū)懸恍┹p量的小腳本,就會想用輕量級一點的工具。
今年用了一圈各種編輯器,發(fā)現(xiàn) Sublime 更新了真·***·三·零版本之后,很多地方都有了極大的提升(尤其是大家比較關(guān)心的顏值),并且用起來比原來還要簡單。配合安裝 Anaconda 或 CodeIntel 插件 ,就可以讓 Sublime 擁有近乎 IDE 的體驗。
另外我覺得有一個對于強迫癥很重要的,就是 Sublime 的字體顏色渲染,像 VSCode Atom 類 的編輯器我總會覺得顏色會有點發(fā)烏、不鮮艷,就像在 PS 做的圖拿到瀏覽器里會不一樣,長時間看會不舒服甚至想吐……
前端在線編輯器:CodeSandbox
雖然這個不算是 Python 開發(fā)工具,但如果后端工程師想寫前端的話,這個在線編輯器太方便了,簡直是節(jié)省了后端工程師的生命??!不用安裝 npm 的幾千個包了,它已經(jīng)在云端完成了,采讓你直接就可以上手寫代碼、看效果。對于 React、Vue 這些主流前端框架都支持。
3、開發(fā)者