Python 是一门对初学者友好的编程语言,是一种多用途的、解释性的和面向对象的高级语言。它拥有非常小的程序集,非常易于学习、阅读和维护。其解释器可在 Windows、Linux 和 Mac OS 等多种操作系统上使用。它的可移植性和可伸缩性等特性使得它更加容易被运用。
Python 库可用于以下用途:
- Web 开发
- 数据科学
- 机器学习
- 多媒体
- 软件开发
- 像 Django 这样的 Web 框架
- GUI 应用
大多数极客认为 Python 是解释性语言,但它也存在编译过程。编译部分在代码执行时完成,并被删除。然后编译内容被转换为字节码。通过机器和操作系统进一步扩展到 Python 虚拟机。
不同的 Python 实现(编译器或解释器)针对不同的目标平台、性能需求或集成场景进行了优化。本文重点介绍了适用于 Python 程序员的 11 种主要的 Python 编译器和解释器,并分析其适用场景。
最好的 Python 编译器和解释器
1. Brython
Brython (Browser Python) 是一种流行的 Python 编译器,可将 Python 代码直接转换为 Javascript 代码。它提供对所有 Web 浏览器(包括手机 Web 浏览器)的支持,无需后端服务器处理 Python 逻辑。
它还支持最新的 Html5/CSS3 规范,可以使用流行的 CSS 框架,如 Bootstrap3 和 LESS。这使得开发者可以在前端直接使用 Python 语法编写交互逻辑,而无需配置复杂的构建环境。
适用场景:需要在浏览器中运行 Python 脚本且不想依赖后端服务的场景。
2. Pyjs
Pyjs 是一个丰富的 Internet 应用程序框架,也是一种轻量级的 Python 编译器,可以从 Web 浏览器直接执行 Python 脚本,可以从浏览器的 JS 控制台执行程序。
它是从 Python 到 Javascript 的编译器,可以使代码在 Web 浏览器上运行。它带有 Ajax 框架和 Widget Set API,允许开发者使用 Python 构建富互联网应用(RIA)。Pyjs 将 Python 代码编译为 JavaScript,从而利用浏览器的原生能力。
适用场景:构建基于浏览器的 Python Web 应用,需要类似桌面应用的交互体验。
3. WinPython
WinPython 是为 Windows 操作系统设计的便携式 Python 发行版。它包含 CPython 的核心特性,但无需安装即可运行。
它预装了一些针对数据科学和机器学习的流行库,例如 Numpy、Pandas 和 Scipy。这对于需要在没有管理员权限的 Windows 机器上进行数据分析的用户非常有用。它带有 C/C++ 编译器,大多数时候不会用到。除此之外,它只有 Python 编译器,没有其它包,保持了环境的纯净。
适用场景:Windows 用户进行数据科学实验,特别是无法安装系统级软件的环境。
4. Skulpt
Skulpt 是 Python 的浏览器版实现,可以被添加到 HTML 代码中。此 Python 编译器使用 Javascript 编写,在客户端运行代码,无需其它插件、加工或服务器支持。
Skulpt 解释器通过导入方式,来执行保存在网站上的 .py 文件中的代码。这意味着你可以直接在网页中嵌入 Python 代码块,并在页面上看到结果,非常适合教学演示或简单的交互式工具。
适用场景:在线编程教育、无需服务器的简单 Python 脚本演示。
5. Shed Skin
Shed Skin 是一个将 Python 标准库模块编译为 C++ 的编译器。它将静态类型的 Python 程序转换为很受限的优化的 C++ 代码。
通过将其内置的 Python 数据类型再次实现为自己的类集(可以用 C++ 高效实现),可以提高性能。Shed Skin 要求代码遵循特定的静态类型子集,这限制了其通用性,但在追求高性能的场景下非常有价值。
适用场景:需要将 Python 逻辑部署为高性能本地二进制文件的场景,且代码符合静态类型约束。
6. ActivePython
ActivePython 是用于 Windows、Linux 和 Mac Os 的 Python 发行版,有免费的社区版。这是由 ActiveState 公司维护的商业化版本。
它支持在许多平台安装,某些不被 Python-like 的 AIX 支持的平台,它也支持。它提供了比 Python 更多的兼容性,并包含了经过测试的第三方库集合。ActivePython 通常用于企业环境,以确保稳定性和长期支持。


