Топ

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

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

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

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

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

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

1. CPython

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

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

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

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

2. Jython

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

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

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

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

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

4. ActivePython

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

5. Nuitka

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

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

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

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

6. PyJS

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

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

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

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

7. Stackless Python

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

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

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

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


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

Alina_selina

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago