Топ-7 бесплатных компиляторов и интерпретаторов Python

В этой статье мы поговорим о компиляторах и интерпретаторах Python и обсудим 7 самых популярных из них: CPython, Jython, IronPython, ActivePython, Nuitka, PyJS и Stackless Python.

Итак, давайте начнем.

Компиляторы и интерпретаторы Python

Возможно, вы слышали, что Python называется интерпретируемым языком программирования. Это означает, что компилятор преобразует исходный код (.py-файл) в байт-код (.pyc-файл), который затем исполняется виртуальной машиной Python (PVM).

А теперь рассмотрим наш список компиляторов и интерпретаторов Python:

1. CPython

Топ-7 бесплатных компиляторов и интерпретаторов Python

Это  наиболее распространённая, эталонная реализация Python. CPython может быть определен как интерпретатор и компилятор, поскольку он компилирует код Python в байт-код перед его интерпретацией.

Характеристики:

  • Разработчики: разработчики Python и сообщество Python, при поддержке Python Software Foundation
  • Последняя версия: 3.8.2  (24 февраля 2020)
  • Написан на: C
  • Тип: интерпретатор Python

Особенностью CPython является то, что он использует глобальную блокировку интерпретатора (GIL) для каждого процесса интерпретатора CPython. Это означает, что в рамках одного процесса в любой момент времени только один поток может обрабатывать байт-код Python. Параллельное выполнение кода может быть достигнуто только с помощью отдельных процессов интерпретатора CPython, которыми управляет многозадачная ОС. В Python есть модуль multiprocessing​, который упрощает создание процессов.

2. Jython

Топ-7 бесплатных компиляторов и интерпретаторов Python

Jython является преемником JPython. Это реализация Python для виртуальной машины Java. Jython одновременно и компилятор, и интерпретатор.

Характеристики:

  • Первый выпуск: 17 января 2001
  • Последняя версия: 2.7.2 (21 марта 2020)
  • Написан на: Python и Java
  • Тип: интерпретатор Python

Jython компилирует исходный код Python в байт-код Java. Это означает, что мы можем запустить его на любой машине, на которой работает JVM (виртуальная машина Java). Программы, выполняемые в среде Jython, могут одновременно использовать классы языков Java и Python.

3. IronPython

Топ-7 бесплатных компиляторов и интерпретаторов Python

Это реализация Python, предназначенная для платформы Microsoft .NET или Mono.

Характеристики:

  • Автор: Джим Хугунин
  • Первый выпуск: 5 сентября 2006
  • Последняя версия: 2.7.9 (Октябрь 9, 2018)
  • Написан на: C#
  • Тип: интерпретатор Python

IronPython поддерживает динамическую компиляцию и интерактивную консоль. Скрипты Python могут взаимодействовать с объектами .NET.

4. ActivePython

Топ-7 бесплатных компиляторов и интерпретаторов Python

ActivePython — это дистрибутив интерпретатора языка программирования Python от компании ActiveState. Распространяется в версиях для Microsoft Windows, Windows NT, Mac OS X, Linux, Solaris, AIX и HP-UX.  ActivePython включает более 300 популярных пакетов Python, прошедших предварительную проверку на наличие устаревших или уязвимых версий, несовместимости и неправильного лицензирования.

5. Nuitka

Топ-7 бесплатных компиляторов и интерпретаторов Python

Nuitka — это транспайлер, который транслирует код Python в исполняемые файлы или исходный код C/C++.

Характеристики:

  • Разработчики: Кей Хайен, сообщество
  • Последняя версия: 0.6.5 (30 июля 2019)
  • Тип:  транспайлер

Nuitka работает с различными версиями Python и позволяет создавать автономные приложения, даже когда Python не установлен на целевом компьютере.

6. PyJS

Топ-7 бесплатных компиляторов и интерпретаторов Python

PyJS — это фреймворк для для разработки веб-приложений. Он позволит вам использовать Python для разработки как клиентской части веб-приложений, так и десктоп-приложений.

Характеристики:

  • Автор: Джеймс Таубер
  • Первый выпуск: март 2007
  • Последняя версия: 0.8.1a (6 мая 2012)
  • Написан на: Python, JavaScript

Раньше PyJS назывался Pyjamas. Он транслирует ваш код Python в JavaScript и позволяет запускать его в браузере. PyJS поставляется с AJAX-фреймворком и библиотекой виджетов.

7. Stackless Python

Топ-7 бесплатных компиляторов и интерпретаторов Python

Stackless Python — это интерпретатор Python. Он назван так из-за отказа от использования стандартного стека вызовов языка C в пользу собственного стека.

Характеристики:

  • Автор: Кристиан Тисмер
  • Первый выпуск: 1998
  • Последняя версия: 3.6.6 (12 сентября 2018)
  • Написан на: C, Python
  • Тип: интерпретатор Python

Особенностью Stackless являются микропотоки (microthreads), которые позволяют избежать чрезмерного расхода системных ресурсов, присущего стандартным потокам операционной системы. В дополнение к стандартным возможностям Python, Stackless добавляет поддержку сопрограмм, коммуникационных каналов и сериализации задач.


Итак, мы рассмотрели некоторые из самых популярных компиляторов и интерпретаторов Python. И можем заключить, что Python не ограничивается только CPython, основной реализацией. Также существуют другие реализации, среди которых можно выбрать ту, которая больше всего подходит для решения поставленных задач.