10 лучших IDE и редакторов кода для Python (руководство)

Python

Поделиться статьей, оригинальная ссылка:Python IDE и редакторы кода (руководство).

Написание Python с помощью IDLE или Python Shell отлично подходит для простых программ, но эти инструменты часто превращают большие проекты программирования в ямы безнадежности и разочарования. Использование IDE или даже хорошего специализированного редактора кода может сделать программирование увлекательным, но что выбрать?

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

Для простоты мы разделили наш список инструментов на две части: одна для проприетарных инструментов, специально предназначенных для разработки на Python, и другая для общих инструментов, которые мы можем использовать для разработки на Python. Мы перечислим «почему это так» и «почему это не так» (за и против) для каждого инструмента. И последнее, но не менее важное: они не исключают друг друга, так что вы можете попробовать их самостоятельно без особого вреда.

Но сначала...

Что такое интегрированные среды разработки и редакторы кода?

Интегрированная среда разработки (IDE) — это программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE объединяет несколько инструментов, разработанных специально для разработки программного обеспечения. Эти инструменты обычно включают в себя редактор, специально предназначенный для работы с кодом (например, подсветку синтаксиса и автозаполнение), инструменты сборки, выполнения, отладки и некоторую форму управления исходным кодом.

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

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

Требования к хорошей среде программирования Python

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

  • Сохраняйте и перезагружайте файлы кода

Если IDE или редактор не позволяют вам сохранить вашу текущую работу и открыть ее позже в том же состоянии, в котором вы ее оставили, то это не IDE.

  • Запуск кода в среде

Точно так же, если вам нужно выйти из редактора, чтобы запустить код Python, это обычный текстовый редактор.

  • Поддержка отладки

Поддержка пошагового выполнения кода во время работы программы является основной функцией всех IDE и большинства хороших редакторов кода.

  • подсветка синтаксиса

Поддержка быстрой идентификации ключевых слов, переменных и символов в коде упрощает чтение и понимание кода.

  • формат кода с автодополнением

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

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

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

Редактор общего назначения и IDE с поддержкой Python.

Eclipse + PyDev

категория:Интегрированная среда разработки

URL-адрес:www.eclipse.org

Инструменты Python:PyDev, www.pydev.org

Если вы достаточно заинтересованы в сообществе открытого исходного кода, то вы, должно быть, слышали об Eclipse. Eclipse для разработчиков Java на самом деле является совместимой интегрированной средой разработки для Linux, Windows и OS X. Он имеет богатый рынок подключаемых модулей и расширений, что делает Eclipse применимым для самых разных проектов разработки.

Одним из таких плагинов является PyDev, который поддерживает отладку Python, автодополнение кода и интерактивную консоль Python. Установить PyDev в Eclipse очень просто, просто выберите «Справка» в Eclipse, нажмите «Eclipse Marketplace» и найдите PyDev. Нажмите «Установить» и при необходимости перезапустите Eclipse.

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

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

Sublime Text

категория:Редактор кода

URL-адрес:www.sublimetext.com

Sublime Text — очень популярный редактор кода, разработанный инженером Google, который мечтает сделать его лучшим текстовым редактором. Sublime Text поддерживает редактирование кода Python и совместим со всеми платформами, а богатый набор плагинов (называемых «пакетами») расширяет синтаксис и возможности редактирования.

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

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

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

Чтобы в полной мере воспользоваться настройками Sublime Text, вы можете прочитать наше руководство по настройке Python + Sublime Text или посмотреть наше более подробное видео, это поможет вам создать эффективную среду разработки Sublime Text 3 в Python.

Atom

категория:редактор кода

URL-адрес:atom.io/

Atom, который также совместим со всеми платформами, был назван «взламываемым текстовым редактором 21 века». Atom с открытым исходным кодом имеет элегантный интерфейс, браузер файловой системы и рынок расширений, и он построен с использованием Electron, который использует JavaScript, HTML и CSS для создания кроссплатформенных настольных приложений. Язык Python поддерживается расширением, которое можно установить во время выполнения Atom.

преимущество:Благодаря Electron, Atom широкая совместимость со всеми основными платформами. Atom также компактен и очень быстро загружается и загружается.

недостаток:Встроенной поддержки сборки и отладки нет, эти функции поддерживаются сообществом. Кроме того, поскольку Atom построен на платформе Electron, он всегда работает в процессе JavaScript, а не как собственное приложение.

GNU Emacs

категория:редактор кода

URL-адрес:woohoo.bowbow.org/software/demons…

Давайте вернемся к тому, что было до войны iPhone против Android, до войны Linux против Windows или даже до войны ПК против Mac, когда была «война редакторов». И GNU Emacs — один из них. GNU Emacs, ставший культовым, известный как «расширяемый, настраиваемый редактор с автоматическим протоколированием и отображением в реальном времени», почти все время был рядом с UNIX.

Бесплатный на всю жизнь и совместимый с любой платформой (в той или иной форме), GNU Emacs настраивается с использованием мощного языка программирования Lisp и предлагает множество пользовательских скриптов для разработки на Python.

преимущество:Зная Emacs, используя Emacs, вы влюбитесь в Emacs, Лисп как второй язык, вы знаете, какие возможности он дает вам делать все, что вы хотите.

недостаток:Настройка означает написание (или копирование-вставку) Лиспа в различные файлы сценариев, и если никто другой не предоставляет его, то вам придется изучить Лисп и понять, как он работает. Кроме того, Emacs — очень хорошая операционная система, если только использовать ее как хороший текстовый редактор...

Обязательно обратитесь к нашему руководству по установке Python + Emacs, чтобы настроить его.

VI/VIM

категория:редактор кода

URL-адрес:www.vim.org/

На другой стороне поля битвы текстовых редакторов находится VI (также известный как VIM), который устанавливается по умолчанию почти во всех системах UNIX и Mac OS X и пользуется таким же культом. VI и VIM — это редакторы моделей, которые отделяют просмотр текста от редактирования текста. VIM предоставляет множество улучшений по сравнению с исходным ВП, включая расширяемые модели и построение кода на месте. VIMScripts можно использовать для различных задач разработки Python.

преимущество:Знай VI, используй VI, ты влюбишься в VI. VIMScripts вас не пугают, и вы можете делать, что хотите.

недостаток:Как и в случае с Emacs, вам может быть неудобно искать или писать собственные сценарии для поддержки среды разработки Python, и вы можете не знать, как работает редактор моделей. Кроме того, VI является хорошим текстовым редактором тогда и только тогда, когда у него хорошая операционная система.

Если вы собираетесь использовать эту комбинацию, см. наше руководство по установке Python + VIM, и мы дадим вам советы и предложения по плагинам.

Visual Studio

тип:Интегрированная платформа разработки

URL-адрес:www.visualstudio.com/vs/

Инструменты Python:Инструменты Python для Visual Studio, также известные как PTVS

По сравнению с Eclipse во многих аспектах Visual Studio, созданная Microsoft, представляет собой полнофункциональную интегрированную платформу разработки. VS совместим только с системами Windows и Mac OS и предоставляет как бесплатную версию (Community Edition), так и платную версию (Professional и Enterprise). VS поддерживает разработку различных платформ и поставляется с собственным рынком подключаемых модулей расширения.

Инструменты Python для Visual Studio (известные также как PTVS) реализуют программирование Python в VS и поддерживают интеллектуальный анализ Python, отладку и другие инструменты.

преимущество:Как и в Eclipse, удобно, если вы добавили PTVS при установке VS.

недостаток:То же, что и Eclipse. Если это только для Python, VS — это большая загрузка. Кроме того, если вы используете систему Linux, вам не повезло, потому что VS не поддерживает платформу Linux.

Visual Studio Code

категория:редактор кода

URL-адрес:code.visualstudio.com/

Инструменты Python:marketplace.visual studio.com/items?item N ...

Visual Studio Code (также известный как VS Code) не следует путать с полной версией VS. Это полнофункциональный редактор кода, совместимый с платформами Linux, Mac OS X и Windows. Небольшой, но полный, VS Code с открытым исходным кодом, расширяемый и настраиваемый практически для любой задачи. Как и Atom, VS Code построен на Electron, поэтому имеет те же преимущества и недостатки.

Установить плагины поддержки Python в VS Code очень просто, а его торговая площадка — одним нажатием кнопки. Просто найдите Python, нажмите «Установить» и при необходимости перезапустите, и VS Code автоматически распознает вашу установку Python и библиотеки.

преимущество:Также благодаря Electron VS Code поддерживает все платформы разработки, также удивительно, что он содержит множество функций в небольшом размере, а также с открытым исходным кодом.

недостаток:Использование Electron означает, что VS Code не является нативным приложением. Также некоторые люди могут не пользоваться ресурсами Microsoft в принципе.

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

PyCharm

категория:Интегрированная среда разработки

URL-адрес:www.jetbrains.com/pycharm/

PyCharm — лучшая (и единственная) полнофункциональная IDE специально для Python. Также есть платная версия (профессиональная версия) и бесплатная версия с открытым исходным кодом (версия сообщества). PyCharm поддерживает быструю установку и использование в системах Windows, Mac OS X или Linux.

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

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

недостаток:У PyCharm есть проблема с медленной загрузкой, и для существующих проектов может потребоваться изменение настроек по умолчанию.

Spyder

категория:Интегрированная среда разработки

URL-адрес:Github.com/people, которые друзья-IDE / ...

SPYDER - это интегрированная среда разработки Python с открытым исходным кодом для научных рабочих процессов данных. Он включен в релиз AnaConda Packet Manager, так что в соответствии с вашими настройками, возможно, вы уже установили Spyder в машине.

Одной из отличительных черт Spyder является то, что его целевая аудитория — специалисты по данным, использующие Python. Вы обязательно это заметите, например, Spyder хорошо интегрируется с некоторыми общедоступными библиотеками данных Python, такими как SciPy, NumPy и Matplotlib.

Spyder имеет большинство функций, которые вы ожидаете от IDE, таких как редактор кода с мощной подсветкой синтаксиса, завершение кода Python и даже встроенный файловый браузер.

Специальная функция, которую я никогда не видел в других средах редактирования Python, — это функция Spyder «браузер переменных», которая отображает данные в таблице в правой части интерфейса IDE. Лично мне эта функция не очень нужна, но выглядит аккуратно. Если вы ежедневно занимаетесь наукой о данных, используя Python, вам обязательно понравится эта уникальная функция. Интеграция Spyder с IPython или Jupyter также выполнена очень хорошо.

В целом, я думаю, что Spyder является более простым, чем другие IDE, и я предпочитаю рассматривать его как профессиональный инструмент, а не как среду редактирования, которую я использую ежедневно. Одна из замечательных особенностей Spyder заключается в том, что он совместим с Windows, macOS и Linux и является программным обеспечением с полностью открытым исходным кодом.

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

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

Thonny

категория:Интегрированная среда разработки

URL-адрес:thonny.org/

Как новый член семейства Python IDE, Thonny известен как IDE для начинающих. Thonny, разработанный и поддерживаемый факультетом компьютерных наук Тартуского университета, Эстония, доступен для всех основных платформ и содержит инструкции по установке на веб-сайте.

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

преимущество:Вы новичок в Python, и все готово к тому, чтобы иметь интегрированную среду разработки, которую вы выберете.

недостаток:Более опытные ветераны Python также могут счесть Thonny слишком простым, а его встроенный интерпретатор — это просто место для работы, а не инструмент для работы. Кроме того, поскольку это новый инструмент, есть большая вероятность, что вы обнаружите, что готового решения нет, когда вы столкнетесь с проблемой.

Какой из них сделан специально для вас?

Только вы можете решить, какой из них вам нравится, но вот несколько основных советов:

  • Новичкам в Python-разработчиках стоит попробовать: чем меньше кастомизаций, тем лучше решение, чем меньше препятствий, тем лучше
  • Если вы используете текстовый редактор для других целей (например, для редактирования веб-страниц или файлов), найдите решение для редактора кода.
  • Если вы уже используете другое программное обеспечение для разработки, возможно, вам будет проще добавить функциональность Python к существующему набору инструментов.

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

[Суперполная отделка] «Всесторонняя разработка автоматизации Python от начального уровня до мастерства», заметки по базовому руководству по python