Python 開發者的 6 個必備庫
無論你是正在使用 Python 進行快速開發,還是在為 Python 桌面應用製作原生 UI ,或者是在優化現有的 Python 程式碼,以下這些 Python 專案都是應該使用的。
Python 憑藉其易用的特點,已經被工業界和學術界廣泛採用。另一方面,Python 豐富的第三方專案——庫、附加元件,和輔助的開發成果——使得 Python 語言的應用範圍被不斷擴大。
其中一些專案,比如 PyInstaller 和 WxPython ,為那些製作桌面應用和終端應用的 Python 開發者提供了便利。其他的專案, 比如 PyPy , 則是用來給伺服器端 Python 應用提供額外的動力。還有一些,像 PBR 、CFFI 和 MyPy , 適用於差不多所有五花八門的 Python 應用,無論在什麼地方執行。
如果你是一個 Python 開發者,所有這六個專案都值得你來熟悉一下。而且所有這些專案,在近幾周都發布了新的主要版本。
Python 必備之 PyPy
PyPy 主要用於何處?
如果你需要更快的 Python 應用程式,最簡單的實現的方法就是通過 PyPy ,Python 執行時與實時(JIT)編譯器。與使用普通的 Python 對等程式相比,使用 PyPy 的 Python 應用程式的執行速度平均提升7.5倍。不幸的是,PyPy 與許多 Python 的明星框架並不是很好地相容。PyPy 5.9 在解決這個問題上取得了重大進展。
PyPy 5.9 的功能
資料科學框架 NumPy 和 Pandas 現在執行在 PyPy 的 Python 2.7 相容版本上。這些框架的大部分問題來源於 PyPy 與現有 C 程式碼的介面。為了解決這個問題,PyPy 5.9 對 CFFI 庫(見下文)和 PyPy 的 Python C API 相容性層進行了改進。
此外,在 5.9 釋出版本中,PyPy 的 JSON 解析器在處理多種 JSON 物件,尤其是那些重複使用的相同的詞典鍵值時,明顯更快。
何處下載 PyPy 5.9
你可以直接從 PyPy 的網站下載二進位制版本。官方二進位制檔案包括 Windows、Mac OS 和 Linux 的不同 CPU 架構。請注意,為了相容 Python 2.7 和 Python 3.5 ,存在不同的二進位制檔案,因此請確保你正在獲取與你將要執行的指令碼所匹配的版本。
Python 必備之 CFFI
CFFI 主要用於何處?
C 外部函式介面庫(CFFI)為 Python 應用程式與獨立 C 庫的互動提供了一種機制。雖然 Python 的 stock 版本,CPython,也擁有自己的庫來完成此類功能,稱為 Ctypes ,但對 Python 使用者來說,比起 Ctypes ,CFFI 使得與 C 庫的互動更容易、更簡便。
CFFI 1.11 的功能
與 PyPy 一起更新的 CFFI v1.11 增加了很小但很有用的改動。現在可以在即將釋出的 Python 3.7 上使用betas了,在 Windows 上更好地支援外部錯誤處理,並支援 C 語言中更多的現代標準型別,例如 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 主要用於何處?
關於 Python 的最常見的問題之一是“如何從 Python 指令碼中生成獨立的可執行檔案?” PyInstaller 一直是對此最好的答案之一。
PyInstaller 3.3 的功能
PyInstaller 將 Python 應用程式打包到單目錄或單檔案的可執行檔案中,捆綁任何所需的第三方庫,並可與絕大多數常見的庫和框架配合使用。
PyInstaller 3.3 中最大的改進是對 Python 3.6 的支援,因為鑑於 Python 3.6 已經發布這確實是必要的
PyInstaller 3.3 還包括一個更廣泛相容的引導載入程式,適用於 Windows 可執行檔案,並擴充套件了對捆綁常見庫(如 QT、GTK +、NumPy 和 Django )的支援。
PyInstaller 在不久之後可能新增的一個功能是交叉打包,例如,在 Windows 上建立 Mac 相容的應用程式。你需要在要部署的同一平臺上執行該 PyInstaller ,無論是 Windows、Mac 還是 Linux 。
何處下載 PyInstaller 3.3 ?
PyInstaller 可以通過 Python Package Index 安裝,也可通過 Python 的 pip 工具安裝:pip install pyinstaller 。對於那些需要自己編譯引導載入程式的人,原始碼可以在 GitHub 上找到,但對多數人而言是不需要這麼做的。
Python 必備之 Python Build Reasonableness (PBR)
Python PBR 主要用於何處?
Setuptools 是用於打包 Python 專案的標準的 Python 問題子系統。管理特定專案的 Setuptools 可能會變得非常繁瑣,特別是在自動生成需求、管理文件檔案或編輯專案貢獻者資料時。
Python PBR 的功能
PBR, Python Build Reasonableness 的縮寫,是以一致的方式用於管理 Setuptools 包的庫。它可以自動化許多 Setuptools 打包的設定,例如版本號、生成作者和 ChangeLog 檔案,以及生成 Sphinx 風格的文件。PBR 最初是作為 OpenStack 專案的一部分開發的,但現在你所使用 PBR 中維護的內容與 OpenStack 已經沒有任何聯絡了。
哪裡可以下載 Python PBR ?
Python 必備之 WxPython
WxPython 主要用於何處?
想要實現跨平臺桌面應用程式的 Python 開發人員可以從多個工具包中進行選擇。 WxPython,是 WxWidgets 庫的一個封裝,使用了其所支援主機平臺的原生 UI 元素,包括 Windows、Mac、Linux 和其他類 Unix 作業系統。
WxPython 4.0 的功能
早期版本的 WxPython 被放棄了是由於其傳統的設計決策,使其變得越來越慢,而且不太適合使用。為了解決這個問題,WxPython 的開發人員對 WxPython 的 4.0 分支做了重大改變。
目標是允許開發人員更快地上手 WxPython ,並且使通過它建立的框架和應用程式更加高效能和易維護。然而,為了使用 WxPython 4.0 ,任何現有的使用 WxPython 專案都需要修改。
何處可以下載 WxPython 4.0 ?
WxPython 4.0 官方版本依然是 beta 版。它可以在 Python Package Index 上找到,即通過 pip install wxpython 命令。在正式釋出前它可能會更新數次,注意經常檢查更新。
那些想直接破解的人可以檢視 GitHub 上的程式碼庫。請注意,WxPython 的 4.0 分支以 “Phoenix” 代號進行標記的,以使其與早期版本不同。
Python 必備之 Mypy
Mypy 主要用於何處?
Python 的動態性既是一種福音,也是一種煩惱,對於快速構建軟體非常棒,但是當代碼難以推理、測試和除錯時,並不是很棒。Mypy 在編譯時向 Python 新增靜態型別檢查,使 Python 程式更加一致和可維護,並且不會增加執行時開銷。
Mypy 0.530 的功能
Mypy 0.530 添加了不同協議的支援,該協議是用於 Python 子類的目前實驗性型別的功能。它還在僅用於包含特定型別的物件的字典中新增 “TypedDict” 型別,並且可以逐個對檔案進行更嚴格的型別檢查的選項。
哪裡可以下載 Mypy 0.530 ?
Mypy 可以在 Python Package Index 上找到,並通過 pip install mypy 來安裝。那些對 Mypy 實現感興趣的人可以通過 GitHub 檢出原始碼。