11 個最佳的 Python 編譯器和解釋器
- 2020 年 3 月 4 日
- 筆記
原作:Archie Mistry 翻譯:豌豆花下貓@Python貓 原文:https://morioh.com/p/765b19f066a4
Python 是一門對初學者友好的編程語言,是一種多用途的、解釋性的和面向對象的高級語言。
它擁有非常小的程序集,非常易於學習、閱讀和維護。其解釋器可在Windows、Linux 和 Mac OS 等多種操作系統上使用。它的可移植性和可伸縮性等特性使得它更加容易被運用。
Python 庫可用於以下用途:
- Web 開發
- 數據科學
- 機器學習
- 多媒體
- 軟件開發
- 像 Django 這樣的 Web 框架
- GUI 應用
大多數極客認為 Python 是解釋性語言,但它也存在編譯過程。
編譯部分在代碼執行時完成,並被刪除。然後編譯內容被轉換為位元組碼。通過機器和操作系統進一步擴展到 Python 虛擬機。
本文重點介紹了適用於 Python 程序員的 11 種最佳的 Python 編譯器和解釋器。
1.Brython

Brython 是一種流行的 Python 編譯器,可將 Python 轉換為 Javascript 代碼。它提供對所有 Web 瀏覽器(包括一種手機 Web 瀏覽器)的支持。
它還支持最新的 Html5/CSS3 規範,可以使用流行的 CSS 框架,如 BootStrap3 和 LESS。
網址:https://brython.info
2. Pyjs

Pyjs 是一個豐富的 Internet 應用程序框架,也是一種輕量級的 Python 編譯器,可以從 Web 瀏覽器直接執行 Python 腳本,可以從瀏覽器的 JS 控制台執行程序。
它是從 Python 到 Javascript 的編譯器,可以使代碼在 Web 瀏覽器上運行。它帶有 Ajax 框架和 Widget Set API。
網站:http://pyjs.org
3. WinPython

它是為 Windows 操作系統設計的。它有一些 CPython 的特性。它預裝了一些針對數據科學和機器學習的流行庫,例如 Numpy、Pandas 和 Scipy。
它帶有 C/C++ 編譯器,大多數時候不會用到。除此之外,它只有 Python 編譯器,沒有其它包。
網址:https://winpython.github.io
4.Skulpt

Skulpt 是 Python 的瀏覽器版實現,可以被添加到 HTML 代碼中。
此 Python 編譯器使用 Javascript 編寫,在客戶端運行代碼,無需其它插件、加工或服務器支持。
Skulpt 解釋器通過導入方式,來執行保存在網站上的 .py 文件中的代碼。
網站:https://skulpt.org
5.Shed Skin

該編譯器將 Python 標準庫模塊編譯為 C++,它將靜態類型的 Python 程序轉換為很受限的優化的 C++ 代碼。
通過將其內置的 Python 數據類型再次實現為自己的類集(可以用 C++ 高效實現),可以提高性能。
網站:https://en.wikipedia.org/wiki/Shed_Skin
6.Active Python

這是用於 Windows、Linux 和 Mac Os 的 Python 發行版,有免費的社區版。
它支持在許多平台安裝,某些不被 Python-like 的 AIX 支持的平台,它也支持。它提供了比 Python 更多的兼容性。
網站:https://www.activestate.com/products/activepython
7.Transcrypt

它是一種流行的將 Python 代碼編譯為簡單易讀的 Java 代碼的編譯器。它是一個輕量級的 Python 編譯器,支持對矩陣和向量運算進行切片。
Transcrypt 也可以在 Node.js 上運行。分層模塊、多重繼承和本地類給其添加了很多功能。
網站:https://www.activestate.com/products/activepython
8. Nutika

這是一種源碼到源碼的 Python 編譯器,可以將 Python 源代碼轉換為 C/C++ 可執行代碼。它會使用到許多 Python 庫和擴展模塊。
它自帶 Anaconda,可用於創建數據科學和機器學習項目。
網站:https://www.activestate.com/products/activepython
9. Jython

它用 Java 編寫,可以在運行 JVM 的任何平台上執行。Jython 將 Python代碼編譯為 Java 位元組碼,從而做到跨平台。
它可用於創建 Servelets、Swing、SWT 和 AWT 軟件包的解決方案。Jython 使用 CPython 之類的全局解釋器鎖(GIL) 。
另外,你可以將 Java 類擴展到 Python 代碼。
網址:https://www.jython.org
10. CPython

CPython 是默認的且使用最廣泛的 Python 編譯器。它是用 C 語言編寫的,並使用 GIL(全局解釋器鎖),這使得並發 CPython 進程之間的通信很困難。
CPython 中的編譯步驟包括:解碼、令牌化、解析、抽象語法樹和編譯。
網站:https://compilers.pydata.org
11. IronPython

此版本的 Python 編譯器是在微軟的 .Net 框架和 Mono 上實現的。
它還提供了動態編譯和交互式控制台。它使得安裝非常容易,並且具有跨平台兼容性。
它還具有標準庫和不同的模塊,主要用於實現 .Net 框架的用戶界面庫。
網址:https://ironpython.net
寫在最後
Python 是一種為許多實現提供了可能的開發語言,例如 Python 到 Java,Python 到 Javascript 或其它。
Python 的這些編譯器有助於我們理解它是多麼的全能。
