Python開發者的6個必備庫

姓名:郭金? ? 學號:17101223407

轉載自:https://sh.qihoo.com/ctranscode?

【嵌牛導讀】:無論你是正在使用 Python 進行快速開發,還是在為 Python 桌面應用制作原生 UI ,或者是在優化現有的 Python 代碼,以下這些 Python 項目都是應該使用的。

【嵌牛鼻子】:python、必備庫

【嵌牛提問】: 如何下載各個必備的庫?

【嵌牛正文】:

? ? ? Python 憑借其易用的特點,已經被工業界和學術界廣泛采用。另一方面,Python 豐富的第三方項目——庫、附加組件,和輔助的開發成果——使得 Python 語言的應用范圍被不斷擴大。

? ? ? 其中一些項目,比如 PyInstaller 和 WxPython ,為那些制作桌面應用和終端應用的 Python 開發者提供了便利。其他的項目, 比如 PyPy , 則是用來給服務器端 Python 應用提供額外的動力。還有一些,像? PBR 、CFFI 和 MyPy , 適用于差不多所有五花八門的 Python 應用,無論在什么地方運行。

? ? ? 如果你是一個 Python 開發者,所有這六個項目都值得你來熟悉一下。而且所有這些項目,在近幾周都發布了新的主要版本。

01 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 ,存在不同的二進制文件,因此請確保你正在獲取與你將要運行的腳本所匹配的版本。

BitBucket 上有源代碼和錯誤跟蹤記錄。

02 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 上找到。

03 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 上找到,但對多數人而言是不需要這么做的。

04 Python必備之Python Build Reasonableness

Python PBR 主要用于何處?

? ? ? Setuptools 是用于打包 Python 項目的標準的 Python 問題子系統。管理特定項目的 Setuptools 可能會變得非常繁瑣,特別是在自動生成需求、管理文檔文件或編輯項目貢獻者數據時。

Python PBR 的功能? ? ? ? ? ? PBR, Python Build Reasonableness 的縮寫,是以一致的方式用于管理 Setuptools 包的庫。它可以自動化許多 Setuptools 打包的設置,例如版本號、生成作者和 ChangeLog 文件,以及生成 Sphinx 風格的文檔。PBR 最初是作為 OpenStack 項目的一部分開發的,但現在你所使用 PBR 中維護的內容與 OpenStack 已經沒有任何聯系了。

哪里可以下載 Python PBR ?

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

05 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” 代號進行標記的,以使其與早期版本不同。

06 Python 必備之 Mypy

Mypy 主要用于何處?Python 的動態性既是一種福音,也是一種煩惱,對于快速構建軟件非常棒,但是當代碼難以推理、測試和調試時,并不是很棒。Mypy 在編譯時向 Python 添加靜態類型檢查,使 Python 程序更加一致和可維護,并且不會增加運行時開銷。

Mypy 0.530 的功能Mypy 0.530 添加了不同協議的支持,該協議是用于 Python 子類的目前實驗性類型的功能。它還在僅用于包含特定類型的對象的字典中添加 “TypedDict” 類型,并且可以逐個對文件進行更嚴格的類型檢查的選項。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容