06.08.2022

IDE и редакторы кода для Python

Сергей Немчинский
10 минут чтения

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

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

В этой статье мы поговорим о некоторых популярных редакторах, их сильных и слабых сторонах. 

Что такое IDE и редакторы кода

IDE (integrated development environment) — это специализированное программное обеспечение для создания программного кода.

Типичные функции редактора кода:

  • Проверка синтаксиса (если вы не закрыли тег или пропустили точку с запятой, редактор подсветит кусок кода с ошибкой);
  • Инструмент контроля версий (вы всегда можете увидеть, в чем разница между двумя сохранениями кода, даже если это один знак);
  • Инструмент запуска готового кода (можно запустить прямо из программы);
  • Инструменты поиска и исправления ошибок кода.

Большинство IDE поддерживает разные языки программирования, то есть в одном и том же инструменте можно создавать код и на Python, и на Java, и на С++, и на других языках. Правда, для того, чтобы добавить в среду дополнительный язык, обычно требуется поставить дополнительный модуль.

Поговорим о том, что должен уметь редактор кода для Python и какие IDE справляются с этими задачами лучше всего.

Основные задачи редактора для Python

Мы разделили задачи редактора для Python на основные и дополнительные. Основные – это те, без которых писать код невозможно. Дополнительные – это так называемые «фишки», они упрощают выполнение определенных задач, но не все ими пользуются.

Основные задачи редактора для Python:

  • Автоматическое форматирование;
  • Подсветка синтаксиса;
  • Отладка перед запуском;
  • Быстрый запуск кода;
  • Сохранение и возобновление работы с того же места.

Остальные функции и расширения, включая инструменты тестирования, считаются дополнительными. Среды для python могут их содержать по умолчанию либо же они инсталлируются в виде модулей. Возможность добавлять дополнительные опции – тоже достоинство для среды разработки для python. Но начинающий разработчик может запутаться в обилии функций и потратить много времени на освоение редактора.

Рассмотрим, какие редакторы python популярны на рынке ПО, в чем их сильные и слабые стороны.

Notepad++

В текстовом редакторе Notepad++ можно записывать код и сохранять в специальном формате, например, html. Более того, на хорошо известном каждому программисту сайте StackOverflow есть рейтинг, который показывает, что Notepad++ – до сих пор один из самых популярных инструментов для написания кода. Поскольку это не специализированное приложение, писать в нем можно на любом языке программирования.

Но все же текстовый редактор – это не идеальный инструмент для кодинга. На него надо ставить дополнительные плагины, не все удобные функции доступны, и так далее. За счет тулбара и автоматических функций специализированная IDE для Python удобнее.

Python IDLE

Эта IDE для python поставляется вместе с дистрибутивом. Наверное, чаще всего сакральную фразу «Hello World» пишут именно в этом редакторе. Есть подсветка синтаксиса, автозавершение кода и встроенный инструмент отладки.

Написать первую программу можно в интерактивном режиме. А можно переключить редактор в режим разработки кода, а затем запустить. При этом окно приложения делится на две части: в одной вы видите код, в другой – его исполнение.

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

Но это же и его недостатки: для программ сложнее Hello World редактору не хватает функционала, так что опытные питонисты предпочитают другое ПО.

Visual Studio Code

Сразу предупреждаем: VS Code – это продукт от Microsoft. Если у вас есть решительные предубеждения против корпорации Билла Гейтса, лучше выбирайте из других редакторов для Python. А для остальных мы расскажем о достоинствах этой IDE.

Первое достоинство VS Code – продукт поставляется бесплатно. Это одна из причин, почему в рейтинге StackOverflow он занимает одну из верхних строчек. Но было бы несправедливо говорить, что VS Code популярен только у любителей бесплатного софта.

Еще одно бесспорное достоинство VS Code – универсальность. Редактор устанавливается под разные операционные системы – разумеется, под Windows, но также и под MacOS, и под Linux.

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

Для работы с Python нужно установить несколько дополнительных пакетов. Это несложно сделать, поскольку все дополнения и обновления есть в открытом доступе.

Из функционала разработчики этого редактора делают особый акцент на IntelliSense. Это совокупность функций, которые работают как «умный редактор» кода – автозавершают код, предлагают переменные, показывают классы, методы и документы нужного типа, и так далее.

Также у редактора есть встроенные инструменты для поиска ошибок и дебаггинга. Отдельно хотелось бы обратить внимание на интеграцию с Git. Для хорошего программиста умение работать с инструментами контроля версий – одно из ключевых. А эта интеграция помогает работать с версиями быстрее и проще.

Итого, плюсы и минусы Visual Studio Code:

Плюсы: большая многофункциональная и универсальная платформа, которая постоянно развивается и поставляется бесплатно.

Минусы: занимает довольно много места, иногда сбоит в работе, множество функций могут запутать начинающего разработчика.

Sublime Text

Когда-то инженер Google решил написать самый лучший и универсальный текстовый редактор на свете. Вряд ли получившийся продукт достиг этой цели. Тем не менее, редактор получился неплохой.

Sublime Text — третья по популярности среда разработки, согласно тому же рейтингу StackOverflow. Это еще один многофункциональный редактор, который работает с несколькими языками программирования.  

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

Одна из сильных сторон Sublime Text — наличие большого комьюнити пользователей. Они создают органическую базу знаний о продукте. Так что, столкнувшись с какими-то сложностями, можно узнать способ решения проблемы у других пользователей.

Прелесть Sublime Text – в тонких настройках. Каждый желающий может скачать нужные пакеты для настройки автозавершения кода, отладки, и так далее. Хотя установка этих пакетов может быть непростой, поскольку они тоже написаны на Python.

Большая ложка дегтя в этой бочке меда – отсутствие инструментов отладки и запуска кода. Так что этот редактор мы бы рекомендовали более опытным разработчикам.

Thonny

Thonny – новый редактор для питона, предустановленный на Linux-type системах. Особенно хорошо эта комбинация подходит для использования на мини-компьютерах Raspberry Pi.

Как и IDLE, python-редактор Thonny рассчитан на неопытных разработчиков. У этой IDE есть необходимые функции: автозавершение, подсветка ошибок, отладчик. Работать в среде Thonny очень легко.

Но, как мы знаем, простота — это еще и недостаток. Первый и самый очевидный – ограниченный функционал. Но куда важнее то, что эта IDE для Python вышла совсем недавно, и при возникновении проблем – а они регулярно возникают – негде узнать или спросить, как эту проблему исправить.

Atom

Atom это много больше, чем редактор для Python. Это специальное приложение, созданное с помощью фреймворка Electron. Его называют хакерским текстовым редактором 21-го века.

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

Чтобы программировать на Python, нужно установить несколько специальных пакетов: autocomplete-python, linter-flake8, python-debugger. В отличие от Sublime, ставить эти пакеты легко.

В редакторе нет встроенных отладчика и дебаггера, их надо устанавливать дополнительно. Лучше всего он подойдет для опытных разработчиков, которые используют одно программное решение для нескольких языков.

Jupyter Notebook

От большинства других приложений в нашем списке Jupyter Notebook отличается открытым исходным кодом. Этот инструмент очень любят дата аналитики: в нем есть возможность очищать и преобразовывать данные, создавать красивые визуализации и делиться документами. А кроме того, для кода на Python в редакторе есть разметка и другие функции.

PyСharm

Мы уже описали несколько решений, но большинство из них являются универсальными инструментами, которые работают с множеством языков программирования. В отличие от них, PyCharm как среда разработки создана специально для Python, и работает на всех основных платформах – Windows, MacOS, Linux.

Вот как раз в этом приложении есть все основные и дополнительные функции, нужные для создания кода на Python. Автозавершение, исправления, отладка, подсветка синтаксиса, рефакторинг и контроль версий – доступно все.

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

И надо иметь в виду, что эта IDE требовательна к объему оперативной памяти, так что если у вас 8Гб оперативки или меньше, эффективно работать PyCharm не будет.

Spyder

Эта IDE для Python поставляется вместе с дистрибутивом Anaconda. Она написана на Python и для Python, и разработана высококлассными специалистами специально для них самих. Аналитики данных, ученые и инженеры создали мощную среду с набором расширенных функций и красивой визуализацией исключительно для Python. 

Возможно, кому-то интерфейс этого редактора покажется слишком консервативным. Спишем это на строгий профессиональный стиль: Spyder – один из самых сложных и профессиональных редакторов для Python.

Vim

Этот текстовый редактор разработан для MacOS и Unix. Один из самых профессиональных инструментов в нашем списке, он высокопроизводителен и компактен. Набор функций редактора собирается с помощью загрузки плагинов.

Инструмент этот непростой, и на его освоение потребуется немало времени. Так что для новичков мы его не рекомендуем.

Онлайн редакторы для Python

Сейчас многие программные решения переехали в облачные сервисы – так проще и выгоднее. Для среды разработки на Python дорогу продолжили многочисленные онлайн-школы IT-технологий. Чтобы задавать студентам задачи по написанию кода с возможностью быстрой проверки, сразу несколько онлайн-школ выпустили свои облачные редакторы.

Оказалось, что разрабатывать приложения на Python в облаке вполне реально. Подобные решения можно найти на сайте w3schools и некоторых других. Конечно, они послабее стационарных IDE, зато не требуют дополнительных настроек и легко запускаются.

Редактор кода для Python под Mac/Windows

Большинство современных редакторов для Python успешно работает на разных платформах. Кроссплатформенные IDE – PyCharm, IDLE Python, Sublime. VS Studio тоже позиционируется как кросс-платформенное решение, но в родной для себя среде Windows он выглядит органичнее и работает чуть лучше.

Ну а если вам нужен нативный редактор для Python под MacOs, присмотритесь к VIM. Это решение довольно сложное, но и возможности у него побогаче.

Какой редактор кода для Python выбрать

Как видите, предложений на рынке хватает, и выбрать редактор кода для Python можно под свои предпочтения. Поэтому мы не будем рекомендовать конкретные IDE, а вместо этого предложим три принципа выбора.

  • Лучшее – враг хорошего. Если у вас уже установлена IDE для другого языка программирования, и она вас устраивает, проверьте, можно ли добавить в нее Python.
  • Специализированный инструмент всегда лучше. Если вы пишете код в текстовом редакторе, подумайте, как перейти на инструмент для создания кода. Это сделает вашу работу быстрее и проще.
  • Не усложняйте. В вашем первом редакторе кода может не быть десятка дополнительных функций, и это неважно. Достаточно основных, пока вы не привыкнете работать с IDE.