18个最佳的 Python 编译器、解释器、加速器

大多数极客认为 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、pyscript

PyScript 是一个框架,允许用户使用 HTML 接口在浏览器中创建丰富的 Python 应用程序。

PyScript 不需要除 Web 浏览器以外的任何开发环境,建议使用Chrome浏览器。如果您使用的是VSCode,则可以在编辑 HTML 文件时使用Live Server extension 重新加载页面。

网站:https://pyscript.net/

6、Shed Skin

该编译器将 Python 标准库模块编译为 C++,它将静态类型的 Python 程序转换为很受限的优化的 C++ 代码。

通过将其内置的 Python 数据类型再次实现为自己的类集(可以用 C++ 高效实现),可以提高性能。

网站:https://en.wikipedia.org/wiki/Shed_Skin

7、Active Python

这是用于 Windows、Linux 和 Mac Os 的 Python 发行版,有免费的社区版。

它支持在许多平台安装,某些不被 Python-like 的 AIX 支持的平台,它也支持。它提供了比 Python 更多的兼容性。

网站:https://www.activestate.com/products/activepython

8、Transcrypt

它是一种流行的将 Python 代码编译为简单易读的 Java 代码的编译器。它是一个轻量级的 Python 编译器,支持对矩阵和向量运算进行切片。

Transcrypt 也可以在 Node.js 上运行。分层模块、多重继承和本地类给其添加了很多功能。

网站:https://www.activestate.com/products/activepython

9、 Nutika

这是一种源码到源码的 Python 编译器,可以将 Python 源代码转换为 C/C++ 可执行代码。它会使用到许多 Python 库和扩展模块。

它自带 Anaconda,可用于创建数据科学和机器学习项目。

网站:https://www.activestate.com/products/activepython

10、 Jython

它用 Java 编写,可以在运行 JVM 的任何平台上执行。Jython 将 Python代码编译为 Java 字节码,从而做到跨平台。

它可用于创建 Servelets、Swing、SWT 和 AWT 软件包的解决方案。Jython 使用 CPython 之类的全局解释器锁(GIL) 。

另外,你可以将 Java 类扩展到 Python 代码。

网址:https://www.jython.org

11、CPython

CPython 是默认的且使用最广泛的 Python 编译器。它是用 C 语言编写的,并使用 GIL(全局解释器锁),这使得并发 CPython 进程之间的通信很困难。

CPython 中的编译步骤包括:解码、令牌化、解析、抽象语法树和编译。

网站:https://compilers.pydata.org

12、 IronPython

此版本的 Python 编译器是在微软的 .Net 框架和 Mono 上实现的。

它还提供了动态编译和交互式控制台。它使得安装非常容易,并且具有跨平台兼容性。

它还具有标准库和不同的模块,主要用于实现 .Net 框架的用户界面库。

网址:https://ironpython.net

13、Codon

Codon 是一种高性能的 Python 编译器,可将 Python 代码编译为本机机器代码,而无需任何运行时开销。 在单线程上,Python 的典型加速大约为 10-100 倍或更多。 Codon 的性能通常与 C/C++ 的性能相当。

Codon 已经在 GitHub 上开源:https://github.com/exaloop/codon

14、PyPy

PyPy 提升速度的秘诀是「即时编译( just-in-time compilation)」,即JIT 编译。提前编译 C、C ++、Swift、Haskell、Rust 等编程语言通常是提前编译(AOT 编译)的。这意味着用这些语言编写代码之后,编译器会将源代码转换成特定计算机架构可读的机器码。也就是说在执行程序时,执行的并不是原始源代码,而是机器码。

网址:https://www.pypy.org/

15、Cython

Cython是让Python脚本支持C语言扩展的编译器,Cython能够将Python+C混合编码的.pyx脚本转换为C代码,主要用于优化Python脚本性能或Python调用C函数库。

网址:https://cython.org/

16、Psyco

Psyco模块可以使你的Python程序运行的像C语言一样快。Psyco 是 Python 语言的一个扩展模块,可以即时对程序代码进行专业的算法优化,可以在一定程度上提高程序的执行速度,尤其是在程序中有大量循环操作时。最早被 Armin Rigo 开发,后来由 Christian Tismer 维护并继续完善。

网址:http://psyco.sourceforge.net/

17、jmpy3

jmpy3为python的一个第三方库,能够将python代码一键加密为.so或者.pyd文件,支持单个文件加密,整个项目加密,加密后会在项目目录中增加一个dist的文件夹,把源文件替换为加密后的文件即可正常运行

缺点

  1. 兼容性稍差,对于不同的版本的操作系统,需要重新编译
  2. 运行加密文件时的python版需要和加密时的python版本一致
  3. 没有官方文档,使用加密后的代码出错后,需要自己排查解决错误

18、Taichi

Taichi 起步于 MIT 的计算机科学与人工智能实验室(CSAIL),设计初衷是便利计算机图形学研究人员的日常工作,帮助他们快速实现适用于 GPU 的视觉计算和物理模拟算法。 Taichi 选择了一条创新的路径:嵌入于 Python,使用即时编译(JIT)架构(如 LLVM、SPIR-V),将 Python 源代码转化为 GPU 或 CPU 的原生指令,在开发时和运行时均提供优越性能。

官网:https://taichi-lang.cn/

猜你喜欢

转载自blog.csdn.net/lojloj/article/details/131760563
今日推荐