無論你是正在使用 Python 進行快速開發(fā)词裤,還是在為 Python 桌面應用制作原生 UI 夺艰,或者是在優(yōu)化現(xiàn)有的 Python 代碼,以下這些 Python 項目都是應該使用的淤袜。
Python 憑借其易用的特點妙黍,已經(jīng)被工業(yè)界和學術界廣泛采用。另一方面是整,Python 豐富的第三方項目——庫肖揣、附加組件,和輔助的開發(fā)成果——使得 Python 語言的應用范圍被不斷擴大浮入。
其中一些項目龙优,比如 PyInstaller 和 WxPython ,為那些制作桌面應用和終端應用的 Python 開發(fā)者提供了便利事秀。其他的項目, 比如 PyPy , 則是用來給服務器端 Python 應用提供額外的動力彤断。還有一些,像 PBR 易迹、CFFI 和 MyPy , 適用于差不多所有五花八門的 Python 應用宰衙,無論在什么地方運行。
如果你是一個 Python 開發(fā)者睹欲,所有這六個項目都值得你來熟悉一下供炼。而且所有這些項目,在近幾周都發(fā)布了新的主要版本窘疮。
Python 必備之 PyPy
PyPy 主要用于何處袋哼?
如果你需要更快的 Python 應用程序,最簡單的實現(xiàn)的方法就是通過 PyPy 闸衫,Python 運行時與實時(JIT)編譯器涛贯。與使用普通的 Python 對等程序相比,使用 PyPy 的 Python 應用程序的運行速度平均提升7.5倍蔚出。不幸的是疫蔓,PyPy 與許多 Python 的明星框架并不是很好地兼容。PyPy 5.9 在解決這個問題上取得了重大進展身冬。
PyPy 5.9 的功能
數(shù)據(jù)科學框架 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 對象掸掏,尤其是那些重復使用的相同的詞典鍵值時茁影,明顯更快。
何處下載 PyPy 5.9
你可以直接從 PyPy 的網(wǎng)站下載二進制版本丧凤。官方二進制文件包括 Windows募闲、Mac OS 和 Linux 的不同 CPU 架構。請注意愿待,為了兼容 Python 2.7 和 Python 3.5 浩螺,存在不同的二進制文件,因此請確保你正在獲取與你將要運行的腳本所匹配的版本仍侥。
BitBucket 上有源代碼和錯誤跟蹤記錄要出。
Python 必備之 CFFI
CFFI 主要用于何處? C 外部函數(shù)接口庫(CFFI)為 Python 應用程序與獨立 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 主要用于何處?關于 Python 的最常見的問題之一是“如何從 Python 腳本中生成獨立的可執(zhí)行文件隐解?” PyInstaller 一直是對此最好的答案之一鞍帝。
PyInstaller 3.3 的功能PyInstaller 將 Python 應用程序打包到單目錄或單文件的可執(zhí)行文件中,捆綁任何所需的第三方庫煞茫,并可與絕大多數(shù)常見的庫和框架配合使用帕涌。
PyInstaller 3.3 中最大的改進是對 Python 3.6 的支持摄凡,因為鑒于 Python 3.6 已經(jīng)發(fā)布這確實是必要的
PyInstaller 3.3 還包括一個更廣泛兼容的引導加載程序,適用于 Windows 可執(zhí)行文件蚓曼,并擴展了對捆綁常見庫(如 QT亲澡、GTK +、NumPy 和 Django )的支持纫版。
PyInstaller 在不久之后可能添加的一個功能是交叉打包床绪,例如,在 Windows 上創(chuàng)建 Mac 兼容的應用程序其弊。你需要在要部署的同一平臺上運行該 PyInstaller 癞己,無論是 Windows、Mac 還是 Linux 瑞凑。
何處下載 PyInstaller 3.3 末秃?
PyInstaller 可以通過 Python Package Index 安裝概页,也可通過 Python 的 pip 工具安裝:pip install pyinstaller 籽御。對于那些需要自己編譯引導加載程序的人,源碼可以在 GitHub 上找到惰匙,但對多數(shù)人而言是不需要這么做的技掏。
Python必備之Python Build Reasonableness
Python PBR 主要用于何處?
Setuptools 是用于打包 Python 項目的標準的 Python 問題子系統(tǒng)项鬼。管理特定項目的 Setuptools 可能會變得非常繁瑣哑梳,特別是在自動生成需求、管理文檔文件或編輯項目貢獻者數(shù)據(jù)時绘盟。
Python PBR 的功能PBR, Python Build Reasonableness 的縮寫鸠真,是以一致的方式用于管理 Setuptools 包的庫。它可以自動化許多 Setuptools 打包的設置龄毡,例如版本號吠卷、生成作者和 ChangeLog 文件,以及生成 Sphinx 風格的文檔沦零。PBR 最初是作為 OpenStack 項目的一部分開發(fā)的祭隔,但現(xiàn)在你所使用 PBR 中維護的內容與 OpenStack 已經(jīng)沒有任何聯(lián)系了。
哪里可以下載 Python PBR 路操?
PBR 在 Python Package Index 上可以找到疾渴,并且可以和 pip 一起安裝,只需要輸入 pip install pbr 即可屯仗。 源碼可在 GitHub 上下載搞坝。
Python 必備之 WxPython
WxPython 主要用于何處?想要實現(xiàn)跨平臺桌面應用程序的 Python 開發(fā)人員可以從多個工具包中進行選擇魁袜。 WxPython瞄沙,是 WxWidgets 庫的一個封裝己沛,使用了其所支持主機平臺的原生 UI 元素,包括 Windows距境、Mac申尼、Linux 和其他類 Unix 操作系統(tǒng)。
WxPython 4.0 的功能早期版本的 WxPython 被放棄了是由于其傳統(tǒng)的設計決策垫桂,使其變得越來越慢师幕,而且不太適合使用。為了解決這個問題诬滩,WxPython 的開發(fā)人員對 WxPython 的 4.0 分支做了重大改變霹粥。
目標是允許開發(fā)人員更快地上手 WxPython ,并且使通過它創(chuà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)性既是一種福音安岂,也是一種煩惱轻猖,對于快速構建軟件非常棒,但是當代碼難以推理嗜闻、測試和調試時蜕依,并不是很棒。Mypy 在編譯時向 Python 添加靜態(tài)類型檢查琉雳,使 Python 程序更加一致和可維護样眠,并且不會增加運行時開銷。
Mypy 0.530 的功能Mypy 0.530 添加了不同協(xié)議的支持翠肘,該協(xié)議是用于 Python 子類的目前實驗性類型的功能檐束。它還在僅用于包含特定類型的對象的字典中添加 “TypedDict” 類型,并且可以逐個對文件進行更嚴格的類型檢查的選項束倍。
Python學習群:593088321