Сообщить об ошибке.

Реализации Python.

В настоящее время имеются четыре промышленные реализации Python:

  • CPython,
  • Jython,
  • IronPython,
  • РуРу,
  • Anaconda.

Для экспериментов и обучения используйте реализацию CPython как наиболее зрелую и получившую широкую поддержку. Она существует дольше других, в то время как Jython, IronPython и РуРу являются более новыми реализациями и в меньшей степени проявили себя.

Для научных математических вычислений, а так же для экспериментов с машинным обучением, искусственным интеллектом и в сфере компьютерного зрения рекомендуется использовать пакет Anaconda, так как он включает в себя все, уже скомпилированные, необходимые для названных целей пакеты и инструменты.

Приложение, созданное с помощью Jython, является полноценным Jаvа приложением со всеми свойственными Java преимуществами и недостатками развертывания и выполняется на любой целевой машине с подходящей JVM. Точно так же приложение, созданное с помощью IronPython, полностью совместимо со спецификациями .NЕТ. РуРу, благодаря JIТ-компиляции в машинный код, зачастую обеспечивает большее быстродействие чем реализация CPython и совместима с большин­ством стандартных библиотек CPython.

На сайте docs-python.ru говориться о CPython, как о наиболее широко используемой реализации.

CPython

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

CPython можно использовать на любой платформе, обеспечивающей работу компилятора языка С, т.е. на любой из современных популярных платформ. О том, как загрузить и установить CPython смотри раздел "Установка Python".

Jython

Jython это реализация Python на виртуальной машине Java (JVM). Аналогично IronPython, код, выполняемый в Jython, может взаимодействовать с классами и библиотеками Java, но не может использовать многие библиотеки, предназначенные для CPython.

Jython поддерживает пока только версию v2. Работая на Jython, вы сможете использовать все библиотеки и фреймворки Java. Оптимальное использование Jython требует знакомства с основными классами Java. Вам не придется писать код на Java, но документация и примеры для библиотек реализованы в терминах Java, по этому, Jаvа-классы не должны быть для вас чем-то новым. Чтобы освоить Jython, вам следует почитать книгу The Definitive Guide to Jython.

lronPython

IronPython это реализация .NET для Python (доступна 32- и 64-разрядная версия), обеспечивающая взаимодействие с C#, F# и Visual Basic, доступ к API-интерфейсам .NET, стандартную отладку Python (но не отладку в смешанном режиме C++) и отладку в смешанном режиме IronPython и C#. Однако IronPython не поддерживает виртуальные среды.

С IronPython вы сможете использовать все библиотеки и фреймворки CLR. Существует кросс-платформенная реализация CLR, известная под названием Mono (www.rnono-project.com) которая работает под управлением других операционных систем. Оптимальное использование IronPython требует знакомства с основными библиотеками CLR. Вам не придется писать код на С#, но документация и примеры для библиотек реализованы в терминах С#, по этому, язык С# не должен быть для вас чем-то новым. Чтобы использовать IronPython, вам следует обратиться к оригинальной онлайн-документа­цией IronPython.

РуРу

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

Anaconda

Anaconda - дистрибутив языков программирования Python и R, включающий набор популярных свободных библиотек, объединённых проблематиками науки о данных и машинного обучения. Основная цель - поставка единым согласованным комплектом наиболее востребованных соответствующим кругом пользователей тематических модулей с разрешением возникающих зависимостей и конфликтов, которые неизбежны при неудачной установке . По состоянию на 2020 год содержит более 1,6 тыс. модулей.

Предназначена в основном для:

  • Разработки и обучения моделей машинного обучения и глубокого обучения с помощью scikit-learn , TensorFlow и Theano.
  • Анализа больших данных с большой производительностью и последующим масштабированием с помощью пакетов Dask , NumPy , pandas и Numba.
  • Визуализации результатов с помощью Matplotlib , Bokeh , Datashader и Holoviews.

Основная особенность дистрибутива - оригинальный менеджер разрешения зависимостей conda с графическим интерфейсом Anaconda Navigator, что позволяет отказаться от стандартных менеджеров пакетов (таких, как pip для Python). Дистрибутив скачивается единожды, и вся последующая конфигурация, в том числе установка дополнительных модулей, может проводится в офлайне. Кроме того, обеспечивается возможность ведения нескольких изолированных сред с раздельным разрешением версионных зависимостей в каждой.

Поддерживаются платформы Linux (x86-64), Windows (i686, x86-64), macOS