前言
無論你現(xiàn)在是否從事Python開發(fā)曼验,以后想從事Python泌射,你最好了解一下幾個庫,它能讓你無論是學(xué)習(xí)鬓照,還是職業(yè)進階都有很大幫助熔酷。
加小編的秋秋裙:830136869,免費領(lǐng)取以上(Python入門到數(shù)據(jù)分析豺裆、爬蟲開發(fā)拒秘、web開發(fā)其中一套資料)
Python 憑借其易用的特點,已經(jīng)被工業(yè)界和學(xué)術(shù)界廣泛采用留储。另一方面,Python 豐富的第三方項目——庫咙轩、附加組件获讳,和輔助的開發(fā)成果——使得 Python 語言的應(yīng)用范圍被不斷擴大。
其中一些項目活喊,比如 PyInstaller 和 WxPython 丐膝,為那些制作桌面應(yīng)用和終端應(yīng)用的 Python 開發(fā)者提供了便利。其他的項目, 比如 PyPy , 則是用來給服務(wù)器端 Python 應(yīng)用提供額外的動力钾菊。還有一些帅矗,像 PBR 、CFFI 和 MyPy , 適用于差不多所有五花八門的 Python 應(yīng)用煞烫,無論在什么地方運行浑此。
如果你是一個 Python 開發(fā)者,所有這六個項目都值得你來熟悉一下滞详。而且所有這些項目都發(fā)布了新的主要版本凛俱。
Python 必備之 PyPy
PyPy 主要用于何處紊馏?
如果你需要更快的 Python 應(yīng)用程序,最簡單的實現(xiàn)的方法就是通過 PyPy 蒲犬,Python 運行時與實時(JIT)編譯器朱监。與使用普通的 Python 對等程序相比,使用 PyPy 的 Python 應(yīng)用程序的運行速度平均提升7.5倍原叮。不幸的是赫编,PyPy 與許多 Python 的明星框架并不是很好地兼容。PyPy 5.9 在解決這個問題上取得了重大進展奋隶。
PyPy 5.9 的功能
數(shù)據(jù)科學(xué)框架 NumPy 和 Pandas 現(xiàn)在運行在 PyPy 的 Python 2.7 兼容版本上擂送。這些框架的大部分問題來源于 PyPy 與現(xiàn)有 C 代碼的接口。為了解決這個問題达布,PyPy 5.9 對 CFFI 庫(見下文)和 PyPy 的 Python C API 兼容性層進行了改進团甲。
此外,在 5.9 發(fā)布版本中黍聂,PyPy 的 JSON 解析器在處理多種 JSON 對象躺苦,尤其是那些重復(fù)使用的相同的詞典鍵值時,明顯更快产还。
何處下載 PyPy 5.9
你可以直接從 PyPy 的網(wǎng)站下載二進制版本匹厘。官方二進制文件包括 Windows、Mac OS 和 Linux 的不同 CPU 架構(gòu)脐区。請注意愈诚,為了兼容 Python 2.7 和 Python 3.5 ,存在不同的二進制文件牛隅,因此請確保你正在獲取與你將要運行的腳本所匹配的版本炕柔。
BitBucket 上有源代碼和錯誤跟蹤記錄。
Python 必備之 CFFI
CFFI 主要用于何處媒佣?
C 外部函數(shù)接口庫(CFFI)為 Python 應(yīng)用程序與獨立 C 庫的交互提供了一種機制匕累。雖然 Python 的 stock 版本,CPython默伍,也擁有自己的庫來完成此類功能欢嘿,稱為 Ctypes ,但對 Python 用戶來說也糊,比起 Ctypes 炼蹦,CFFI 使得與 C 庫的交互更容易、更簡便狸剃。
CFFI 1.11 的功能
與 PyPy 一起更新的 CFFI v1.11 增加了很小但很有用的改動∑現(xiàn)在可以在即將發(fā)布的 Python 3.7 上使用betas了,在 Windows 上更好地支持外部錯誤處理钞馁,并支持 C 語言中更多的現(xiàn)代標準類型瑟枫,例如 float/double _Complex 和 char16_t和char_32t 類型斗搞。最后兩個也是最重要的,在 C 庫中默認使用 Unicode 編碼慷妙。
何處下載 CFFI 1.11 僻焚?
CFFI 在 Python Package Index 上可以單獨下載,或通過 Python 的 pip 工具安裝:pip install cffi 膝擂。源碼和問題跟蹤可以在 BitBucket 上找到虑啤。
Python 必備之 PyInstaller
PyInstaller 主要用于何處?
關(guān)于 Python 的最常見的問題之一是“如何從 Python 腳本中生成獨立的可執(zhí)行文件架馋?” PyInstaller 一直是對此最好的答案之一狞山。
PyInstaller 3.3 的功能
PyInstaller 將 Python 應(yīng)用程序打包到單目錄或單文件的可執(zhí)行文件中,捆綁任何所需的第三方庫叉寂,并可與絕大多數(shù)常見的庫和框架配合使用萍启。
PyInstaller 3.3 中最大的改進是對 Python 3.6 的支持,因為鑒于 Python 3.6 已經(jīng)發(fā)布這確實是必要的
PyInstaller 3.3 還包括一個更廣泛兼容的引導(dǎo)加載程序屏鳍,適用于 Windows 可執(zhí)行文件勘纯,并擴展了對捆綁常見庫(如 QT、GTK +钓瞭、NumPy 和 Django )的支持驳遵。
PyInstaller 在不久之后可能添加的一個功能是交叉打包,例如山涡,在 Windows 上創(chuàng)建 Mac 兼容的應(yīng)用程序堤结。你需要在要部署的同一平臺上運行該 PyInstaller ,無論是 Windows鸭丛、Mac 還是 Linux 竞穷。
何處下載 PyInstaller 3.3 ?
PyInstaller 可以通過 Python Package Index 安裝鳞溉,也可通過 Python 的 pip 工具安裝:pip install pyinstaller 瘾带。對于那些需要自己編譯引導(dǎo)加載程序的人,源碼可以在 GitHub 上找到穿挨,但對多數(shù)人而言是不需要這么做的月弛。
Python 必備之 Python Build Reasonableness (PBR)
Python PBR 主要用于何處肴盏?
Setuptools 是用于打包 Python 項目的標準的 Python 問題子系統(tǒng)科盛。管理特定項目的 Setuptools 可能會變得非常繁瑣,特別是在自動生成需求菜皂、管理文檔文件或編輯項目貢獻者數(shù)據(jù)時贞绵。
Python PBR 的功能
PBR, Python Build Reasonableness 的縮寫,是以一致的方式用于管理 Setuptools 包的庫恍飘。它可以自動化許多 Setuptools 打包的設(shè)置榨崩,例如版本號谴垫、生成作者和 ChangeLog 文件,以及生成 Sphinx 風(fēng)格的文檔母蛛。PBR 最初是作為 OpenStack 項目的一部分開發(fā)的翩剪,但現(xiàn)在你所使用 PBR 中維護的內(nèi)容與 OpenStack 已經(jīng)沒有任何聯(lián)系了。
哪里可以下載 Python PBR 彩郊?
PBR 在 Python Package Index 上可以找到前弯,并且可以和 pip 一起安裝,只需要輸入 pip install pbr 即可秫逝。 源碼可在 GitHub 上下載恕出。
Python 必備之 WxPython
WxPython 主要用于何處?
想要實現(xiàn)跨平臺桌面應(yīng)用程序的 Python 開發(fā)人員可以從多個工具包中進行選擇违帆。 WxPython浙巫,是 WxWidgets 庫的一個封裝,使用了其所支持主機平臺的原生 UI 元素刷后,包括 Windows的畴、Mac、Linux 和其他類 Unix 操作系統(tǒng)惠险。
WxPython 4.0 的功能
早期版本的 WxPython 被放棄了是由于其傳統(tǒng)的設(shè)計決策苗傅,使其變得越來越慢,而且不太適合使用班巩。為了解決這個問題渣慕,WxPython 的開發(fā)人員對 WxPython 的 4.0 分支做了重大改變。
目標是允許開發(fā)人員更快地上手 WxPython 抱慌,并且使通過它創(chuàng)建的框架和應(yīng)用程序更加高性能和易維護逊桦。然而,為了使用 WxPython 4.0 抑进,任何現(xiàn)有的使用 WxPython 項目都需要修改强经。
何處可以下載 WxPython 4.0 ?
WxPython 4.0 官方版本依然是 beta 版寺渗。它可以在 Python Package Index 上找到匿情,即通過 pip install wxpython 命令。在正式發(fā)布前它可能會更新數(shù)次信殊,注意經(jīng)常檢查更新炬称。
那些想直接破解的人可以查看 GitHub 上的代碼庫。請注意涡拘,WxPython 的 4.0 分支以 “Phoenix” 代號進行標記的玲躯,以使其與早期版本不同。
Python 必備之 Mypy
Mypy 主要用于何處?
Python 的動態(tài)性既是一種福音跷车,也是一種煩惱棘利,對于快速構(gòu)建軟件非常棒,但是當代碼難以推理朽缴、測試和調(diào)試時善玫,并不是很棒。Mypy 在編譯時向 Python 添加靜態(tài)類型檢查密强,使 Python 程序更加一致和可維護蝌焚,并且不會增加運行時開銷。
Mypy 0.530 的功能
Mypy 0.530 添加了不同協(xié)議的支持誓斥,該協(xié)議是用于 Python 子類的目前實驗性類型的功能只洒。它還在僅用于包含特定類型的對象的字典中添加 “TypedDict” 類型,并且可以逐個對文件進行更嚴格的類型檢查的選項劳坑。
哪里可以下載 Mypy 0.530 毕谴?
Mypy 可以在 Python Package Index 上找到,并通過 pip install mypy 來安裝距芬。那些對 Mypy 實現(xiàn)感興趣的人可以通過 GitHub 檢出源碼涝开。