Компилятор Python: где запустить код онлайн и как ускорить программу

Отдельный компилятор Python не нужен: CPython сам переводит код в байт-код.

Собрали 9 онлайн-компиляторов, включая сервисы с библиотеками и пошаговым режимом, объяснили, где скачать Python, и замерили PyPy, Cython, Numba, mypyc и Nuitka на одной функции: лучший результат в 32 раза быстрее.

Статью написал:
Ваня Буявец, продюсер, основатель Checkroi
Ваня Буявец
Основатель Checkroi, продюсер, эксперт в выборе онлайн-курсов
Все 3156 статей автора Подписаться на Телеграм-канал
Одобрено экспертом:
Наташа Буявец, основатель Checkroi, эксперт по онлайн-курсам
Наташа Буявец
Основательница Checkroi, продюсер Youtube-каналов, эксперт по онлайн-курсам
Все 3810 экспертных мнений Подписаться на Телеграм-канал
Обложка: Компилятор Python: где запустить код онлайн и как ускорить программу

Отдельного компилятора, как у C или Go, Python не требует. Стандартный интерпретатор CPython сам переводит файл .py в байт-код и сразу его выполняет. Поэтому под запросом «компилятор питона» обычно скрывается одна из трёх задач: запустить код в браузере, поставить Python на компьютер или ускорить медленную программу. Ниже девять онлайн-сервисов, ссылки на установку и замер пяти настоящих компиляторов на одной функции: лучший результат вышел в 32 раза быстрее обычного Python. Как устроена компиляция в целом, мы разбирали в статье о компиляции простыми словами.

CheckroiCheckroiПодборка курсов по Python569 курсов • 52 школыСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить→

Что на самом деле называют компилятором Python

Рой запускает код на Python в браузере на ноутбуке

В глоссарии документации Python сказано прямо: исходный код компилируется в байт-код, внутреннее представление программы в интерпретаторе CPython, и байт-код кешируется в файлах .pyc (docs.python.org). Компилятор внутри Python есть, просто он работает незаметно при каждом запуске.

Байт-код можно посмотреть модулем dis:

import dis

def greet(name):
    return "Привет, " + name

dis.dis(greet)

Вывод в Python 3.14.7:

  3           RESUME                   0

  4           LOAD_CONST               0 ('Привет, ')
              LOAD_FAST_BORROW         0 (name)
              BINARY_OP                0 (+)
              RETURN_VALUE

Эти команды выполняет виртуальная машина CPython, а не процессор напрямую. Отсюда и скорость: цикл на чистом Python заметно медленнее того же цикла на C.

Что из этого нужно именно вам, зависит от задачи:

Задача Что подойдёт Раздел
Проверить код, ничего не устанавливая онлайн-компилятор Python «Онлайн-компиляторы»
Писать программы на своём компьютере Python с python.org и редактор кода «Python на компьютер»
Ускорить расчёты PyPy, Cython, Numba, mypyc «Настоящие компиляторы»
Отдать программу человеку без Python PyInstaller или Nuitka Python в exe

Онлайн-компиляторы Python: 9 сервисов

Строго говоря, это онлайн-интерпретаторы: код выполняется на сервере сервиса или прямо в браузере. Название «компилятор» прижилось, и сами сервисы им пользуются.

Сервис Чем полезен Где выполняется код
OneCompiler Python 3 и Python 2.7, ввод данных через stdin на сервере
Programiz кнопка Visualize показывает выполнение по шагам на сервере
Online-Python интерактивный ввод: программа спрашивает, вы отвечаете по ходу на сервере
Python Tutor рисует переменные и кадры функций на каждом шаге на сервере
JupyterLite ноутбук JupyterLab без установки в браузере
pythononline.dev Pandas, NumPy, Matplotlib и другие пакеты ставятся сами при импорте в браузере
Google Colab ноутбуки с бесплатными GPU и TPU, файлы хранятся в Google Диске на серверах Google
PythonAnywhere полноценная среда в облаке и хостинг, базовый план бесплатный на сервере
Ideone десятки языков, ввод stdin заранее, лимит 5 или 15 секунд на сервере

Для первой программы хватит OneCompiler или Online-Python. Чтобы разобраться в цикле или рекурсии, откройте Python Tutor. Для анализа данных подойдут JupyterLite и Colab, про них подробнее в статье «Jupyter онлайн».

Как запустить код в онлайн-компиляторе

Порядок почти везде одинаковый:

  1. Откройте сервис и убедитесь, что выбран Python 3, а не Python 2.7: в части сервисов есть обе версии.
  2. Удалите пример из редактора и вставьте свой код.
  3. Если программа вызывает input(), заранее впишите данные в поле ввода (подробнее ниже).
  4. Нажмите Run и смотрите результат в панели вывода.

В ноутбуках вроде Colab код делится на ячейки, а ячейку запускают сочетанием Shift+Enter.

Онлайн-компилятор Python с библиотеками

Обычный онлайн-компилятор знает только стандартную библиотеку, и import pandas там часто заканчивается ошибкой ModuleNotFoundError. Сервисы на Pyodide работают иначе. По документации проекта, Pyodide — это порт CPython на WebAssembly, который ставит пакеты прямо в браузере через micropip (pyodide.org).

Решение: берите JupyterLite или pythononline.dev. На pythononline.dev достаточно написать import numpy, пакет установится сам. Если нужны тяжёлые модели и видеокарта, лучше подойдёт Colab.

Пошаговый компилятор для новичков

Python Tutor запускает программу и показывает каждый шаг: какая строка выполнилась, что лежит в переменных, какие функции сейчас вызваны. Ползунок внизу двигает выполнение вперёд и назад.

Пошаговое выполнение функции подсчёта простых чисел в онлайн-компиляторе Python Tutor: шаг 19 из 52
Python Tutor остановил программу на 19-м шаге: справа видно, что i равно 5, а в count уже два простых числа. Кнопки Prev и Next двигают выполнение назад и вперёд.

На кадре функция подсчёта простых чисел остановилась на 19-м шаге из 52: переменная i равна 5, в count уже 2 найденных простых числа. Так проще понять, почему цикл while крутится лишний раз, чем по десятку вызовов print().

Как онлайн-компилятор работает с input()

Здесь новички чаще всего теряются. В части сервисов данные для input() вводят заранее, в отдельное поле: в OneCompiler это поле STDIN на вкладке I/O правой панели, в Ideone поле «enter input (stdin)». Каждый вызов input() забирает следующую строку.

Редактор онлайн-компилятора Python OneCompiler с кнопкой Run и вкладкой I/O
В OneCompiler код пишут слева, а данные для input() вводят в поле STDIN на вкладке I/O правой панели. Запускает программу красная кнопка Run.

Online-Python, наоборот, поддерживает интерактивное выполнение: программа задаёт вопрос и ждёт ответа в консоли. Если код с input() ведёт себя странно, сначала проверьте, куда сервис ждёт ввод. Как правильно читать число, разобрано в статье про int(input()).

Когда онлайн-компилятора не хватит

Браузерный сервис хорош для коротких проверок. Для настоящего проекта его рамки быстро становятся тесными:

  • долгие расчёты обрываются по лимиту времени, у Ideone это 5 или 15 секунд;
  • проект из нескольких файлов, свои модули и данные с диска удобнее держать на компьютере;
  • в сервисах, где код выполняется на сервере, он уходит чужой компании, поэтому рабочие ключи и пароли туда не вставляйте.

Для учебных задач онлайн-сервиса хватает надолго, особенно если параллельно идёте по программе одного из курсов по Python.

Упёрлись в одно из этих ограничений? Ставьте Python на компьютер, как это сделать, рассказываем после методики отбора.

Канал основателя Checkroi Вани Буявца3 800 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединиться

Как мы отбирали сервисы

Критерии отбора были такие:

  • сервис открывается из России, все девять адресов мы проверили 3 ноября 2026 года;
  • поддерживает Python 3, а для запуска кода не нужна оплата;
  • у каждого есть своя сильная сторона, а не копия соседнего редактора.

Отсеяли два сервиса. Trinket закрылся 31 августа 2026 года, сохранённые программы и аккаунты больше недоступны (trinket.io). Coddy при открытии из России вернул ошибку 403.

Где скачать компилятор питона на компьютер

Офлайн-компилятор питона и есть сам Python с официального сайта. На 3 ноября 2026 года на python.org актуальна версия 3.15.2, а для Windows там предлагают Python install manager вместе с обычным установщиком.

  1. Скачайте Python с python.org для своей системы. Пошаговая установка для Windows, macOS и Linux описана в статье «Как скачать и установить Python».
  2. Откройте IDLE: среда разработки и обучения ставится вместе с Python, в ней есть интерактивная оболочка и редактор с подсветкой (docs.python.org).
  3. Когда IDLE станет тесно, выберите редактор. Десять сред сравниваем в материале «Как выбрать IDE для Python», а VS Code под Python настраиваем в инструкции по VS Code.

Запросы вроде «компилятор питон на ПК» и «компилятор python скачать бесплатно» ведут туда же: Python бесплатный, ставить отдельную программу-компилятор не нужно.

Настоящие компиляторы: как ускорить Python в десятки раз

Секундомеры разной скорости на финишной линии беговой дорожки

Компиляторы в строгом смысле переводят Python в машинный код или в C. Мы сравнили пять из них на одной функции: она считает простые числа меньше 300 000 перебором делителей. Это типичный медленный код на Python, много циклов и арифметики.

def count_primes(n: int) -> int:
    count = 0
    for i in range(2, n):
        is_prime = True
        j = 2
        while j * j <= i:
            if i % j == 0:
                is_prime = False
                break
            j += 1
        if is_prime:
            count += 1
    return count

Все варианты нашли одинаковые 25 997 простых чисел. В таблице лучшее время из пяти запусков на MacBook с Apple M4 Pro:

Чем запускали Время Быстрее CPython Что меняли в коде
CPython 3.14.7 0,292 с 1× ничего
Nuitka 4.3.4 0,163 с 1,8× ничего
Cython 3.3.1 без типов 0,166 с 1,8× ничего
mypyc из mypy 2.4.1 0,017 с 17× ничего, хватило аннотаций
PyPy 7.3.22 (Python 3.11) 0,015 с 19× ничего
Cython 3.3.1 с типами 0,009 с 32× типы cython.int
Numba 0.68.1 0,009 с 32× декоратор @njit

PyPy

PyPy, другая реализация Python, работает со встроенным JIT-компилятором. Код менять не нужно: вместо python3 script.py пишете pypy3 script.py. Проект заявляет, что PyPy 3.12 в среднем примерно в 4 раза быстрее CPython 3.11 (pypy.org). На нашем цикле вышло 19 раз.

Ограничение: по описанию проекта, PyPy поддерживает большую часть C API, но медленно (pypy.org/features). NumPy и другие библиотеки на C подключаются через слой совместимости, поэтому PyPy сильнее всего ускоряет код на чистом Python.

Cython

Cython переводит Python в C-расширение, это статический компилятор (cython.org). Без подсказок он ускорил функцию всего в 1,8 раза. С типами разница уже в 32 раза:

import cython

def count_primes(n: cython.int) -> cython.int:
    count: cython.int = 0
    i: cython.int
    j: cython.int
    is_prime: cython.bint
    for i in range(2, n):
        ...  # тело цикла то же самое

Файл собирается командой cythonize -i primes.py, после чего его импортируют как обычный модуль. Это «чистый Python-режим»: по документации, такой код ускоряется после компиляции, но его по-прежнему можно выполнять обычным интерпретатором (документация Cython).

Numba

Numba, JIT-компилятор, переводит часть Python и NumPy в машинный код (numba.pydata.org). Достаточно одной строки над функцией:

from numba import njit

@njit
def count_primes(n):
    ...  # тот же код

Первый вызов у нас занял 0,41 с: Numba в этот момент компилирует функцию. Второй вызов прошёл за 0,009 с. По руководству Numba, лучше всего она работает с массивами и функциями NumPy и с циклами.

mypyc и Nuitka

mypyc собирает C-расширение по обычным аннотациям типов. В документации обещают ускорение аннотированного кода в 1,5–5 раз, а для кода, доработанного под mypyc, в 5–10 раз (mypyc.readthedocs.io). На нашей функции, где только целые числа и циклы, вышло 17 раз.

Nuitka по описанию проекта создаёт исполняемые файлы, которым не нужен отдельный установщик (nuitka.net). Ускорение у нас скромное, 1,8 раза. Nuitka берут ради готовой программы, подробности в статье «Python в exe».

Алгоритм важнее компилятора

Та же задача через решето Эратосфена на обычном CPython заняла около 0,002 с. Это примерно в 150 раз быстрее перебора и быстрее любого компилятора из таблицы. Прежде чем ставить Numba, проверьте, нет ли способа посчитать меньше. Пример такого ускорения есть в разборе решета Эратосфена на Python.

Частые ошибки и что с ними делать

Рой радуется, когда программа наконец запустилась без ошибки
  • Онлайн-компилятор «зависает» на input(). Сервис ждёт ввод в отдельном поле stdin, а не в консоли. Впишите данные заранее, по строке на каждый вызов.
  • ModuleNotFoundError в браузере. В сервисе нет нужного пакета. Перенесите код в один из сервисов с библиотеками из раздела выше.
  • Cython почти не ускорил код. Без объявленных типов он оставляет объекты Python, и выигрыш небольшой: у нас 1,8 раза. Решение: типизируйте переменные внутри горячего цикла.
  • Numba падает с TypingError. Режим @njit понимает только часть Python. На json.loads внутри функции мы получили:
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Unknown attribute 'loads' of type Module(<module 'json' ...>)

Решение: оставьте в функции под @njit только числа, циклы и массивы, а разбор строк и файлов вынесите наружу.

  • Замерили первый вызов Numba и разочаровались. В нём сидит компиляция: 0,41 с против 0,009 с на втором вызове. Сравнивайте время со второго запуска.
  • TabError после вставки кода. Код скопировали из разных мест, и в одной функции смешались табуляция и пробелы. Python 3.14 на таком файле пишет TabError: inconsistent use of tabs and spaces in indentation. Решение: замените все отступы на четыре пробела, в большинстве редакторов это делает автоформатирование.
  • Ускоряют весь проект целиком. Обычно тормозит одна функция, и компилировать стоит её. Остальной код пусть остаётся на CPython.
Ваня БуявецКанал основателя Checkroi Вани БуявцаЗабирайте промпты и обучение по нейросетям в моём Телеграм-каналеБольше 3 800 человек уже применяют Claude Code, ChatGPT и другие нейросети в работе, учёбе, бизнесе и жизниПерейти в канал

Где освоить Python системно

Онлайн-компилятор и Numba решают разовую задачу. Чтобы понимать, почему код медленный и как его ускорить, нужна база: типы данных, алгоритмы, работа с библиотеками. Её дают курсы по Python, а дальше можно расти до профессии Python-разработчика.

Все программы собраны в разделе курсов по Python, ниже пять из них:

КурсШколаСтоимость со скидкойВ рассрочкуДлитель­ностьОбзор курса от Checkroi
Профессия «Python-разработчик»
Перейти на сайт курса
SkillboxSkillbox157 335 ₽5987 ₽/мес.10 месяцевОбзор курса
Fullstack-разработчик на Python
Перейти на сайт курса
НетологияНетология137 000 ₽7125 ₽/мес.21 месяцОбзор курса
ДО Профессия Python-разработчик
Перейти на сайт курса
GeekBrainsGeekBrains149 001 ₽3167 ₽/мес.10 месяцевОбзор курса
Автоматизированное тестирование на Python
Перейти на сайт курса
SkillboxSkillbox118 754 ₽4108 ₽/мес.9 месяцевОбзор курса
Профессия Python-разработчик
Перейти на сайт курса
SkillFactorySkillFactory140 040 ₽3890 ₽/мес.10 месяцевОбзор курса

Больше программ — в полном каталоге курсов по Python

Часто задаваемые вопросы

Есть ли у Python компилятор?

Есть, но работает незаметно: интерпретатор CPython при каждом запуске компилирует файл .py в байт-код и сразу его выполняет. Отдельно ставить компилятор, как для C, не нужно. Чтобы получить машинный код и ускорить программу, используют PyPy, Cython, Numba или mypyc.

Какой онлайн-компилятор Python выбрать новичку?

Для первых программ подойдут OneCompiler и Online-Python, они открываются без установки. Если нужно понять, как выполняется цикл или рекурсия, откройте Python Tutor: он показывает значения переменных на каждом шаге.

Где найти онлайн-компилятор Python с библиотеками?

Pandas, NumPy и Matplotlib работают в JupyterLite и на pythononline.dev: оба запускают Python прямо в браузере через Pyodide. Для тяжёлых расчётов и нейросетей берите Google Colab, там есть бесплатные GPU.

Где скачать компилятор питона бесплатно?

Компилятором питона обычно называют сам Python. Он бесплатный, скачивать его нужно на python.org. Вместе с ним ставится среда IDLE, в ней можно сразу писать и запускать код.

Какой компилятор Python самый быстрый?

В нашем замере на подсчёте простых чисел лучше всех оказались Numba и Cython с объявленными типами: оба примерно в 32 раза быстрее обычного CPython. PyPy ускорил тот же код в 19 раз без единой правки, mypyc в 17 раз.

Можно ли скомпилировать Python в exe?

Можно, для этого есть PyInstaller и Nuitka. Пошаговая сборка описана в статье «Python в exe».

Читайте Checkroi первым в Google
Добавьте Checkroi в избранные источники — и наши разборы курсов и обзоры школ будут показываться выше в вашей выдаче Google.
Оставить комментарий
0 комментариев
Форма комментария

Оставьте комментарий

Напишите, что думаете. Нам важно ваше мнение!