Выбираем самый удобный редактор кода Python

Original author: Bharath K
  • Translation

Львиную долю своего рабочего времени программисты проводят в редакторах кода. В такой ситуации комфортность и удобство рабочей среды трудно переоценить. Конечно, писать код можно и в простейшем текстовом редакторе и сохранять в .html, но с продвинутым редактором это не сравнится. Особенно если редактор ориентирован на конкретный язык. Так как питон был и остается основным языком, используемым в Data Science, и именно ему мы уделяем особое внимание на наших курсах, делимся с вами переводом статьи, автор которой пишет о знакомых ему редакторах и о том, что он считает привлекательным в них.



Примечание автора: каждый упомянутый в этой статье редактор хорош по-своему. Список — это только краткое руководство, основанное на моем личном опыте. Одни редакторы могут нравиться вам больше других. В конце концов, выбор редактора или среды разработки за вами. Нет неправильного или правильного выбора.

1. Python IDLE




IDLE — редактор, поставляемый вместе с Python. Это базовый, упрощенный режим программирования на Python. Тем не менее, IDLE хороший редактор для начала программирования и понимания основ языка. В нем есть оболочка Python — интерактивный интерпретатор. Его возможности обширны: автозавершение кода, подсветка синтаксиса, подбор отступа и базовый встроенный отладчик.

Плюсы:

  • Легкий.
  • Подходит для начинающих.

Минусы:

  • Не подходит сложным проектам.
  • Не хватает продвинутых функций.

2. Sublime Text



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

Плюсы:

  • Простой и по большей части бесплатный.
  • Тонко настраивается.
  • Компактный и эффективный.

Минусы:

  • Для удобства требует дополнительных пакетов.

3. Visual Studio Code




Visual Studio Code — бесплатный редактор кода от Microsoft для Windows, Linux и MacOS. Его возможности — отладка, подсветка синтаксиса, интеллектуальное завершение кода, предопределённые фрагменты кода, рефакторинг и интеграция с Git. Поддерживаются различные языки программирования. Для начала работы с Python может понадобиться несколько дополнительных пакетов, но установить их довольно просто. Редактор постоянно обновляется. Visual Studio Code — один из лучших редакторов не только для Python, но и для других языков программирования. Я часто пользуюсь VSC и очень рекомендую его.

Плюсы:

  • Это фантастическая платформа с непрерывными обновлениями.
  • Потребляет немного памяти по сравнению с другими громоздкими инструментами разработки.
  • Имеет встроенный терминал и прост в использовании.

Минусы:

  • Иногда терминал работает не так, как хотелось бы.

4. Jupyter Notebook



Jupyter Notebook — это веб-приложение с открытым исходным кодом, позволяющее создавать документы с выполняемым интерактивно кодом, уравнениями, визуализациями, простым текстом. Конечно, такими документами просто поделиться. Jupyter Notebook используется для очистки и преобразования данных, численного и статистического моделирования, визуализации данных, машинного обучение и многого другого. Этот редактор — хороший вариант для начала работы с наукой о данных и машинным обучением. Файлами можно поделиться с кем угодно, они помогают эффективнее работать с кодом. Я настоятельно рекомендую Jupyter Notebook, поскольку можно работать с каждым блоком кода отдельно. Также есть возможность использовать разметку. Среда Jupyter Notebook широко используется во многих успешных компаниях.

Плюсы:

  • Лучшая платформа для начала работы с наукой о данных.
  • Легко делиться файлами и визуализациями.
  • Разметка и другие дополнительные функции.

Минусы:

  • Нет мощных функций из некоторых IDE.

5. PyСharm




PyCharm — это интегрированная среда разработки специально для Python. Разработана чешской [прим. перев. — автор ориентируется на расположение головного офиса] компанией JetBrains. Редактор разработан специально для Python, так что имеет широкий набор возможностей, таких как автозавершение и инспекции кода, подсветка ошибок, исправления, отладка, система контроля версий и рефакторинг. IDE доступна на Microsoft Windows, Linux и MacOS. Есть бесплатная и платная профессиональная версии. Профессиональная IDE имеет несколько дополнительных функций, но бесплатной версии достаточно для большинства задач. Я настоятельно рекомендую PyCharm, если у вас есть как минимум 8 Гб оперативной памяти.

Плюсы IDE:

  • Имеет важные встроенные функции.
  • Разработана профессионалами специально для Python.
  • Поддерживает виртуальные среды Anaconda.

Минусы:

  • Основная проблема PyCharm: если у вас недорогой ПК или ноутбук и в нем нет 8 Гб оперативной памяти, то IDE немного притормаживает и работает довольно медленно.

6. Thonny




IDE Thonny предустановлена на системы Linux и системы на ее основе. Мой опыт работы с этим редактором в основном связан с Raspberry Pi. Это отличная, простая среда разработки для начинающих. Thonny хорошо подходит Raspberry Pi. Некоторые возможности: подсветка синтаксических ошибок, отладчик, автозавершение кода, пошаговое вычисление выражений.

Плюсы:

  • Интерактивная среда.
  • Подходит для начинающих.
  • Может использоваться для проектов Raspberry Pi.

Минусы:

  • Редактор склонен к проблемам.
  • Имеет не очень много возможностей.

7. Spyder



Spyder — это мощная научная интегрированная среда программирования, написанная на Python, для Python. Она разработана учеными, инженерами и аналитиками данных для них самих. Spyder обладает уникальным сочетанием возможностей. Продвинутое редактирование, анализ, отладка и профилирование сочетается с возможностями исследования данных, интерактивного выполнения, глубокой инспекции кода и красивой визуализацией. Установить Spyder просто: скачайте его как часть дистрибутива Anaconda. Разработчики рекомендуют последнюю 64-битную версию Python 3, если у вас нет особых требований.

Плюсы:

  • Бесплатный редактор, поставляется с Anaconda.
  • Хорошее рабочее окружение для просмотра интерпретаций и кодирования в два окна.
  • Широкий выбор опций исключительно для Python.

Минусы:

  • Немного старый интерфейс.

8. Atom




Эта IDE похожа на текстовый редактор Sublime. Она очень настраиваемая и поддерживает многие необходимые пакеты. У меня меньше опыта работы с этим редактором, поэтому я рекомендую скорее Sublime Text, чем Atom. Но перечислю некоторые часто используемые пакеты Atom для разработки на Python: autocomplete-python, linter-flake8, python-debugger.

Плюсы:

  • Работать с Atom легко.
  • Поддерживает Python после дополнительных установок.

Минусы:

  • Требуется дополнительный плагин для Python.
  • Больше подходит для работы с git.

9. VIM




Vim — это текстовый редактор, предустановленный в системах MacOS и UNIX. Большинство экспертов любят vim за развитые вычислительные возможности и легкую, компактную среду разработки. Он не рекомендуется начинающим, так как изучать его трудно. Можно добавить плагины подсветки синтаксиса, автозавершения кода, отладки, рефакторинга и другие к Vim и использовать его как Python IDE. [Прим. перев. На скриншоте GVim — версия Vim с графическим интерфейсом].

Плюсы:

  • Легкий.
  • Эффективный.
  • Производительный.

Минусы:

  • Нужно посвятить время изучению редактора, у него крутая кривая обучения.

10. Notepad++




Notepad++ — это редактор текста и исходного кода, работающий на Microsoft Windows. Поддерживается редактирование с вкладками, что позволяет работать с несколькими открытыми файлами в одном окне. Название проекта происходит от оператора инкремента языка С. Notepad++ распространяется как свободное программное обеспечение. Редактор поддерживает множество языков программирования и может быть полезным. На мой взгляд, есть и лучшие варианты. Кроме того, нужно установить дополнительные пакеты, чтобы сделать редактор функциональным для программирования на Python.

Плюсы:

  • Заменяет блокнот.
  • Может использоваться для нескольких языков программирования, включая Python.

Минусы:

  • Требуется дополнительная настройка и установки плагинов, чтобы работать с Python.
  • Не в топе рекомендаций: есть много вариантов получше.

11. Онлайн редакторы


На Programiz, tutorials point, w3schools и некоторых других сайтах есть редакторы с удивительными возможностями.

Плюсы:

  • Никаких дополнительных установок и настроек.
  • Простой код запускается без особых хлопот.

Минусы:

  • Не такие мощные, как IDE.

Это был длинный список. Я охватил почти все редакторы из моего опыта работы. Самое смешное: есть вероятность, что я многое упустил. Есть множество настраиваемых, удобных пользователям редакторов. Также сегодня существует множество облачных IDE именно в онлайне. GitHub работает над Codespaces — облачной версией VSCode. И Vim настраивается так гибко, что может иметь множество других плюсов и минусов.

Расскажите, в каком редакторе для Python вы пишете код и почему?

image

Получить востребованную профессию с нуля или Level Up по навыкам и зарплате, можно, пройдя онлайн-курсы SkillFactory:



Only registered users can participate in poll. Log in, please.

А какой из перечисленных редакторов вы считаете самым удобным для Python?

  • 1.8%Python IDLE10
  • 7.2%Sublime Text41
  • 23.3%Visual Studio Code133
  • 5.6%Jupyter Notebook32
  • 45.5%PyСharm260
  • 1.2%Thonny7
  • 2.4%Spyder14
  • 2.4%Atom14
  • 5.6%VIM32
  • 1.8%Notepad++10
  • 0.2%Онлайн редакторы1
  • 3.0%Свой вариант (напишу в комментариях)17
SkillFactory
Школа Computer Science. Скидка 10% по коду HABR

Comments 38

    +8

    Неужели emacs даже не упоминают? А ещё есть Gedit, кстати, и gnome builder.

    • UFO just landed and posted this here
        0
        Был опыт работы в компании, где все сидели в emacs. (Там очень любили круглые скобки).
          0

          У нас несколько человек на емаксе работают. Я не понимаю как, но локальные околоредакторные задачи они решают очень эффективно (эффективнее, чем я).

          +9
          emacs + jedi. Статья, простите, говно. Причем безотносительно того, что нет про Emacs, просто в ней нет никакого смысла, плюсы и минусы настолько поверхностны, насколько возможно.
            –3
            Да, не то что в ваших постах, вот где экспертизы хватает :-)
          +2

          И какой вывод? Что выбрали?

            0
            Ну пока лидируют PyСharm и VS Code (ожидаемо).
            +2

            Где же мультивыбор? PyCharm Enterprise + Vim

              +2
              Vim в эмуляторе терминала в PyCharm (и других Jetbrains IDE). we_need_to_go_deeper.jpeg
              Если что это не сарказм, я сам так работаю.
              +4
              Я бы всё-таки разделял редакторы кода и IDE. Рабочие проекты на тысячи sloc с БД, докером, линтерами, десятком команд и т.п. я предпочитаю запускать в PyCharm. Но VSCode отлично подходит мне для простых скриптов на 50 строк.

              Ах да, ну и в vim что-нибудь удалённо поправить тоже бывает случай.
                +1
                Абсолютно с вами согласен. Немного не понятно по каким критериям предлагают производить выбор редактора. Известно, что Jupyter очень удобен как «черновичок», супер удобен в работе анализа данных, когда надо взглянуть на распределения, датафреймы. По мне, это все равно что спрашивать. Что лучше, ложка или вилка? Без каких либо уточнений что за блюдо перед нами находится.
                  0

                  Подскажите, а чем неудобен вариант с VSC и хорошо настроенным vim для упомянутых рабочих проектов?

                  +1
                  pyscripter
                    0
                    Spyder без анаконды.
                      0
                      CudaText
                        0

                        ох уже эти громадные иконки...

                      +1

                      Если много кода — Pycharm, если подфиксить местами — sublime, если на удаленном сервере — mc/nano/vim (в зависимости, что стоит или нет).

                        +1
                        Пользуюсь несколькими, в том числе и не упомянутым Visual Studio 2019.
                          +1
                          ActiveState Komodo IDE
                          Набор фич пожалуй стандартный, но у него самая безпроблемная работа с SSH.
                          Если чтото пофиксить по быстрому — mcedit, или другой дефолтный редактор в системе.
                            0
                            Использую Pyzo. Очень неплох, можно работать одновременно с несколькими версиями python — было очень удобно пару лет назад при переводе проекта с python 2 на python 3
                              +1
                              Eclipse забыли :(
                                +2
                                У кого-то правда PyCharm тормозит или автору оригинала было стыдно оставить его и VSC без минусов?
                                  0
                                  Не то что бы прям всегда тормозит, но любое обновление самого Pch или библиотек это 15-20 мин «выбитого» времени. Какие-то бесконечные индексации библиотек и обновления sceleton и тд и тп.
                                    +3
                                    автор просто смешал в кусу полноценные ide и среды чуть более прокачанные, чем обычный блокнот с подсветкой синтаксиса. в этом плане ide конечно проигрывают по скорости работы. сомнительное решение, конечно.
                                    +1
                                    Notepad++ уже давно портироали под Linux, устанавливается из snap пакета.
                                      +1

                                      его еще кто-то использует как оказалось...

                                        0
                                        работает всё равно через wine.
                                        –1

                                        Онлайн редакторы очень даже мощные
                                        Например, Codenvy использует Eclipse Che внутри OpenShift
                                        Есть еще Gitpod работающий с Eclipse Theia
                                        И Github Codespaces, наконец
                                        Все это зависит от железа сервера и позволяет работать на слабых устройствах
                                        А можно вообще на своем сервере все это раскатать

                                          0
                                          Много лет использую PyCharm. Сейчас наверное самый мощный для Python, но очень тяжелый!
                                            0
                                            среди плюсов и минусов несправедливо забыта кроссплатформенность.
                                              0

                                              Sublime Text + TabNine

                                                0
                                                Как по мне, Spyder — лучший инструмент для аналитика. Можно выполнять код частями, проверять результат, и, что самое главное — всегда иметь переменные под контролем, что очень удобно. Spyder ван лав.
                                                  +1
                                                  Sublime Text — свободное программное обеспечение с широкой поддержкой сообщества.

                                                  Что? Sublime Text — коммерческий продукт с закрытым исходным кодом.
                                                  Он имеет бесплатную версию, функционал которой никак не ограничен, и тысячи плагинов от сообщества, но под "свободное программное обеспечение" не попадает вообще никак.

                                                    0
                                                    Пришедшие из мира matlab-а как правило надолго застревают в spyder
                                                      +1

                                                      А почему вы пишете, что Sublime Text — свободное ПО. Вики и их сайт однозначно говорит что там проприетарная лицения
                                                      К слову, "в большинстве случаев можно использовать незарегистрированный" — тоже неправда. Его можно использовать только для ознакомления.

                                                        0
                                                        PyDev забыли. Из особых плюсов: использование с другими инструментами Eclipse в одной IDE.

                                                        Only users with full accounts can post comments. Log in, please.