Python開發(fā)者的6個(gè)必備庫(kù)

姓名:郭金? ? 學(xué)號(hào):17101223407

轉(zhuǎn)載自:https://sh.qihoo.com/ctranscode?

【嵌牛導(dǎo)讀】:無(wú)論你是正在使用 Python 進(jìn)行快速開發(fā)方仿,還是在為 Python 桌面應(yīng)用制作原生 UI ,或者是在優(yōu)化現(xiàn)有的 Python 代碼盐碱,以下這些 Python 項(xiàng)目都是應(yīng)該使用的。

【嵌牛鼻子】:python嫉柴、必備庫(kù)

【嵌牛提問】: 如何下載各個(gè)必備的庫(kù)耍攘?

【嵌牛正文】:

? ? ? Python 憑借其易用的特點(diǎn)恕酸,已經(jīng)被工業(yè)界和學(xué)術(shù)界廣泛采用堪滨。另一方面,Python 豐富的第三方項(xiàng)目——庫(kù)蕊温、附加組件袱箱,和輔助的開發(fā)成果——使得 Python 語(yǔ)言的應(yīng)用范圍被不斷擴(kuò)大。

? ? ? 其中一些項(xiàng)目义矛,比如 PyInstaller 和 WxPython 发笔,為那些制作桌面應(yīng)用和終端應(yīng)用的 Python 開發(fā)者提供了便利。其他的項(xiàng)目, 比如 PyPy , 則是用來(lái)給服務(wù)器端 Python 應(yīng)用提供額外的動(dòng)力症革。還有一些筐咧,像? PBR 鸯旁、CFFI 和 MyPy , 適用于差不多所有五花八門的 Python 應(yīng)用噪矛,無(wú)論在什么地方運(yùn)行。

? ? ? 如果你是一個(gè) Python 開發(fā)者铺罢,所有這六個(gè)項(xiàng)目都值得你來(lái)熟悉一下艇挨。而且所有這些項(xiàng)目,在近幾周都發(fā)布了新的主要版本韭赘。

01 Python 必備之 PyPy

PyPy 主要用于何處缩滨?

? ? ? 如果你需要更快的 Python 應(yīng)用程序,最簡(jiǎn)單的實(shí)現(xiàn)的方法就是通過 PyPy 泉瞻,Python 運(yùn)行時(shí)與實(shí)時(shí)(JIT)編譯器脉漏。與使用普通的 Python 對(duì)等程序相比,使用 PyPy 的 Python 應(yīng)用程序的運(yùn)行速度平均提升7.5倍袖牙。不幸的是侧巨,PyPy 與許多 Python 的明星框架并不是很好地兼容。PyPy 5.9 在解決這個(gè)問題上取得了重大進(jìn)展鞭达。

PyPy 5.9 的功能

? ? 數(shù)據(jù)科學(xué)框架 NumPy 和 Pandas 現(xiàn)在運(yùn)行在 PyPy 的 Python 2.7 兼容版本上司忱。這些框架的大部分問題來(lái)源于 PyPy 與現(xiàn)有 C 代碼的接口皇忿。為了解決這個(gè)問題,PyPy 5.9 對(duì) CFFI 庫(kù)(見下文)和 PyPy 的 Python? C API 兼容性層進(jìn)行了改進(jìn)坦仍。

? ? ? 此外鳍烁,在 5.9 發(fā)布版本中,PyPy 的 JSON 解析器在處理多種 JSON 對(duì)象繁扎,尤其是那些重復(fù)使用的相同的詞典鍵值時(shí)幔荒,明顯更快。

何處下載 PyPy 5.9

? ? ? 你可以直接從 PyPy 的網(wǎng)站下載二進(jìn)制版本梳玫。官方二進(jìn)制文件包括 Windows铺峭、Mac OS 和 Linux 的不同 CPU 架構(gòu)。請(qǐng)注意汽纠,為了兼容 Python 2.7 和 Python 3.5 卫键,存在不同的二進(jìn)制文件,因此請(qǐng)確保你正在獲取與你將要運(yùn)行的腳本所匹配的版本虱朵。

BitBucket 上有源代碼和錯(cuò)誤跟蹤記錄莉炉。

02 Python 必備之 CFFI

? ? ? CFFI 主要用于何處? C 外部函數(shù)接口庫(kù)(CFFI)為 Python 應(yīng)用程序與獨(dú)立 C 庫(kù)的交互提供了一種機(jī)制碴犬。雖然 Python 的 stock 版本絮宁,CPython,也擁有自己的庫(kù)來(lái)完成此類功能服协,稱為 Ctypes 绍昂,但對(duì) Python 用戶來(lái)說,比起 Ctypes 偿荷,CFFI 使得與 C 庫(kù)的交互更容易窘游、更簡(jiǎn)便。

? ? ? CFFI 1.11 的功能與 PyPy 一起更新的 CFFI v1.11 增加了很小但很有用的改動(dòng)√桑現(xiàn)在可以在即將發(fā)布的 Python 3.7 上使用betas了忍饰,在 Windows 上更好地支持外部錯(cuò)誤處理,并支持 C 語(yǔ)言中更多的現(xiàn)代標(biāo)準(zhǔn)類型寺庄,例如 float/double _Complex 和 char16_t和char_32t 類型艾蓝。最后兩個(gè)也是最重要的,在 C 庫(kù)中默認(rèn)使用 Unicode 編碼斗塘。

何處下載 CFFI 1.11 赢织?

? ? ? CFFI 在 Python Package Index 上可以單獨(dú)下載,或通過 Python 的 pip 工具安裝:pip install cffi 馍盟。源碼和問題跟蹤可以在 BitBucket 上找到于置。

03 Python 必備之 PyInstaller

? ? ? PyInstaller 主要用于何處?關(guān)于 Python 的最常見的問題之一是“如何從 Python 腳本中生成獨(dú)立的可執(zhí)行文件朽合?” PyInstaller 一直是對(duì)此最好的答案之一俱两。

PyInstaller 3.3 的功能

? ? ? PyInstaller 將 Python 應(yīng)用程序打包到單目錄或單文件的可執(zhí)行文件中饱狂,捆綁任何所需的第三方庫(kù),并可與絕大多數(shù)常見的庫(kù)和框架配合使用宪彩。

PyInstaller 3.3 中最大的改進(jìn)是對(duì) Python 3.6 的支持休讳,因?yàn)殍b于 Python 3.6 已經(jīng)發(fā)布這確實(shí)是必要的

? ? ? PyInstaller 3.3 還包括一個(gè)更廣泛兼容的引導(dǎo)加載程序,適用于 Windows 可執(zhí)行文件尿孔,并擴(kuò)展了對(duì)捆綁常見庫(kù)(如 QT俊柔、GTK +、NumPy 和 Django )的支持活合。

? ? ? PyInstaller 在不久之后可能添加的一個(gè)功能是交叉打包雏婶,例如,在 Windows 上創(chuàng)建 Mac 兼容的應(yīng)用程序白指。你需要在要部署的同一平臺(tái)上運(yùn)行該 PyInstaller 留晚,無(wú)論是 Windows、Mac 還是 Linux 告嘲。

何處下載 PyInstaller 3.3 错维?

? ? PyInstaller 可以通過 Python Package Index 安裝,也可通過 Python 的 pip 工具安裝:pip install pyinstaller 橄唬。對(duì)于那些需要自己編譯引導(dǎo)加載程序的人赋焕,源碼可以在 GitHub 上找到,但對(duì)多數(shù)人而言是不需要這么做的仰楚。

04 Python必備之Python Build Reasonableness

Python PBR 主要用于何處隆判?

? ? ? Setuptools 是用于打包 Python 項(xiàng)目的標(biāo)準(zhǔn)的 Python 問題子系統(tǒng)。管理特定項(xiàng)目的 Setuptools 可能會(huì)變得非常繁瑣僧界,特別是在自動(dòng)生成需求侨嘀、管理文檔文件或編輯項(xiàng)目貢獻(xiàn)者數(shù)據(jù)時(shí)。

Python PBR 的功能? ? ? ? ? ? PBR, Python Build Reasonableness 的縮寫捎泻,是以一致的方式用于管理 Setuptools 包的庫(kù)飒炎。它可以自動(dòng)化許多 Setuptools 打包的設(shè)置,例如版本號(hào)笆豁、生成作者和 ChangeLog 文件,以及生成 Sphinx 風(fēng)格的文檔赤赊。PBR 最初是作為 OpenStack 項(xiàng)目的一部分開發(fā)的闯狱,但現(xiàn)在你所使用 PBR 中維護(hù)的內(nèi)容與 OpenStack 已經(jīng)沒有任何聯(lián)系了。

哪里可以下載 Python PBR 抛计?

PBR 在 Python Package Index 上可以找到哄孤,并且可以和 pip 一起安裝,只需要輸入 pip install pbr 即可吹截。 源碼可在 GitHub 上下載瘦陈。

05 Python 必備之 WxPython

? ? WxPython 主要用于何處凝危?想要實(shí)現(xiàn)跨平臺(tái)桌面應(yīng)用程序的 Python 開發(fā)人員可以從多個(gè)工具包中進(jìn)行選擇。 WxPython晨逝,是 WxWidgets 庫(kù)的一個(gè)封裝蛾默,使用了其所支持主機(jī)平臺(tái)的原生 UI 元素,包括 Windows捉貌、Mac支鸡、Linux 和其他類 Unix 操作系統(tǒng)。

? ? ? WxPython 4.0 的功能早期版本的 WxPython 被放棄了是由于其傳統(tǒng)的設(shè)計(jì)決策趁窃,使其變得越來(lái)越慢牧挣,而且不太適合使用。為了解決這個(gè)問題醒陆,WxPython 的開發(fā)人員對(duì) WxPython 的 4.0 分支做了重大改變瀑构。

目標(biāo)是允許開發(fā)人員更快地上手 WxPython ,并且使通過它創(chuàng)建的框架和應(yīng)用程序更加高性能和易維護(hù)刨摩。然而检碗,為了使用 WxPython 4.0 ,任何現(xiàn)有的使用 WxPython 項(xiàng)目都需要修改码邻。

何處可以下載 WxPython 4.0 折剃?WxPython 4.0 官方版本依然是 beta 版。它可以在 Python Package Index 上找到像屋,即通過 pip install wxpython 命令怕犁。在正式發(fā)布前它可能會(huì)更新數(shù)次,注意經(jīng)常檢查更新己莺。

那些想直接破解的人可以查看 GitHub 上的代碼庫(kù)奏甫。請(qǐng)注意,WxPython 的 4.0 分支以 “Phoenix” 代號(hào)進(jìn)行標(biāo)記的凌受,以使其與早期版本不同阵子。

06 Python 必備之 Mypy

Mypy 主要用于何處?Python 的動(dòng)態(tài)性既是一種福音胜蛉,也是一種煩惱挠进,對(duì)于快速構(gòu)建軟件非常棒,但是當(dāng)代碼難以推理誊册、測(cè)試和調(diào)試時(shí)领突,并不是很棒。Mypy 在編譯時(shí)向 Python 添加靜態(tài)類型檢查案怯,使 Python 程序更加一致和可維護(hù)君旦,并且不會(huì)增加運(yùn)行時(shí)開銷。

Mypy 0.530 的功能Mypy 0.530 添加了不同協(xié)議的支持,該協(xié)議是用于 Python 子類的目前實(shí)驗(yàn)性類型的功能金砍。它還在僅用于包含特定類型的對(duì)象的字典中添加 “TypedDict” 類型局蚀,并且可以逐個(gè)對(duì)文件進(jìn)行更嚴(yán)格的類型檢查的選項(xiàng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末恕稠,一起剝皮案震驚了整個(gè)濱河市琅绅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谱俭,老刑警劉巖奉件,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異昆著,居然都是意外死亡县貌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門凑懂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)煤痕,“玉大人,你說我怎么就攤上這事接谨“诘铮” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵脓豪,是天一觀的道長(zhǎng)巷帝。 經(jīng)常有香客問我,道長(zhǎng)扫夜,這世上最難降的妖魔是什么楞泼? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮笤闯,結(jié)果婚禮上堕阔,老公的妹妹穿的比我還像新娘。我一直安慰自己颗味,他們只是感情好超陆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浦马,像睡著了一般时呀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捐韩,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天退唠,我揣著相機(jī)與錄音,去河邊找鬼荤胁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屎债,可吹牛的內(nèi)容都是我干的仅政。 我是一名探鬼主播垢油,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼圆丹!你這毒婦竟也來(lái)了滩愁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辫封,失蹤者是張志新(化名)和其女友劉穎硝枉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倦微,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妻味,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了欣福。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片责球。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拓劝,靈堂內(nèi)的尸體忽然破棺而出雏逾,到底是詐尸還是另有隱情,我是刑警寧澤郑临,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布栖博,位于F島的核電站,受9級(jí)特大地震影響厢洞,放射性物質(zhì)發(fā)生泄漏仇让。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一犀变、第九天 我趴在偏房一處隱蔽的房頂上張望妹孙。 院中可真熱鬧,春花似錦获枝、人聲如沸蠢正。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嚣崭。三九已至,卻和暖如春懦傍,著一層夾襖步出監(jiān)牢的瞬間雹舀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工粗俱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留说榆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像签财,于是被迫代替她去往敵國(guó)和親串慰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容