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

Не бойтесь! Этот урок исключительно для того, чтобы помочь, объяснить и демистифицировать массу доступных вариантов. Я не смогу предложить то, что лучше всего вам подходит и соответствует вашему стилю работы, но смогу объяснить плюсы и минусы каждого из них, помогу принять обоснованное решение при выборе. Что-бы было проще, разделим весь список на две большие категории инструментов: 1) такие, которые созданы исключительно для разработки на Python, и 2) универсальные, созданные для общей разработки, но которые, однако, эффективны с Python.

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

Содержание

Но сначала…

Что есть IDEs и редакторы кода?    ↑

IDE (Integrated Development Environment или интегрированная среда разработки) — это специальная программа для разработки программного обеспечения. Как следует из названия, интегрированные среды разработки имеют специальные инструменты, предназначенные исключительно для разработки программного обеспечения. Обычно это:

  • Редактор с обработкой кода (например, с подсветкой синтаксиса и автозаполнением).
  • Инструменты сборки, выполнения и отладки.
  • Некоторые способы контроля правильности кода.

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

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

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

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

  • Сохранение и перезагрузка файлов с кодом.
    Если IDE или редактор не позволяют сохранять свою работу и открывать в том же состоянии, в котором она находилась ранее, то это не очень правильная IDE.
  • Запуск кода из среды
    Точно так же, если вам нужно выйти из редактора для запуска кода Python, то это не больше, чем простой текстовый редактор.
  • Поддержка отладки
    Возможность трассировки кода во время его работы — основная особенность всех IDE и большинства хороших редакторов кода.
  • Подсветка синтаксиса
    Возможность быстро находить ключевые слова, переменные и символы в вашем коде значительно облегчает чтение и понимание кода.
  • Автоматическое форматирование кода
    Любой редактор или интегрированная среда разработки распознают двоеточие в конце оператора while или for и знают, что следующая строка должна иметь отступ.

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

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

Основные редакторы и IDE с поддержкой Python    ↑

Eclipse + PyDev    ↑

Категория: IDE
Website: www.eclipse.org
Python инструменты: PyDev, www.pydev.org

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

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

Eclipse + PyDev
Eclipse + PyDev

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

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

Sublime Text    ↑

Категория: Редактор кода
Website: http://www.sublimetext.com

Sublime Text, написанный инженером Google с мечтой о лучшем текстовом редакторе, чрезвычайно популярен. Он работает на всех платформах и имеет встроенную поддержку редактирования кода Python с богатым набором плагинов, называемых пакетами, которые расширяют синтаксис и функции редактирования.

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

Sublime Text
Sublime Text

Плюсы: Sublime Text имеет много последователей в сообществе. Как редактор кода, Sublime Text — быстрый, маленький и хорошо поддерживаемый.

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

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

Atom    ↑

Категория: Редактор кода
Website: https://atom.io/

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

Atom
Atom

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

Минусы: Поддержка сборки и отладки не является встроенной, но является надстройкой от сообщества. Поскольку Atom построен на Electron, он всегда работает в среде JavaScript, а не как автономное приложение.

GNU Emacs    ↑

Категория: Редактор кода
Website: https://www.gnu.org/software/emacs/

Еще до войны между iPhone и Android, до войны Linux и Windows, даже до войны с ПК и Mac, была Война редакторов с GNU Emacs в качестве одного из комбатантов. Объявленный как «расширяемый, настраиваемый, самодокументируемый редактор отображения в реальном времени», GNU Emacs существует почти столько же, сколько и UNIX, и имеет множество привержинцев.

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

GNU Emacs
GNU Emacs

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

Минусы: Настройка означает запись (или копирование/вставку) кода Lisp в различные файлы сценариев. Если он еще не предоставлен, вам, возможно, придется изучить Lisp, чтобы понять, как это сделать.

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

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

Vi/Vim    ↑

Категория: Редактор кода
Website: https://www.vim.org/

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

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

VIM
VIM

Плюсы: Вы знаете VI, вы используете VI, вы любите VI. Сценарии VIM вас не пугают, и вы знаете, что сделаете ним то, что надо.

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

Кроме того, вы знаете, что VI был бы отличным текстовым редактором, если бы у него была приличная операционная система.

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

Категория: IDE
Website: https://www.visualstudio.com/vs/
Python инструменты: Python Tools for Visual Studio, aka PTVS

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

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

Плюсы: Если у вас уже установлена Visual Studio для других действий по разработке, добавление PTVS происходит быстро и просто.

Минусы: Visual Studio избыточна, если работать только с Python. Кроме того, если вам дорог Linux, то вам не повезло — Visual Studio для этой платформы нет.

Visual Studio Code    ↑

Категория: Редактор кода
Website: https://code.visualstudio.com/
Python инструменты: https://marketplace.visualstudio.com/items?itemName=ms-python.python

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

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

VS Code
VS Code

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

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

Обязательно ознакомьтесь с руководством по использованию кода Visual Studio для разработки на Python, а также с сопутствующим видеокурсом, чтобы максимально использовать эту настройку.

IDE и редакторы кода специально для Python    ↑

PyCharm    ↑

Категория: IDE
Website: https://www.jetbrains.com/pycharm/

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

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

PyCharm
PyCharm

Плюсы: Де-факто, это среда Python IDE с огромной поддержкой сообщества. Он редактирует, запускает и отлаживает Python из коробки.

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

Spyder    ↑

Категория: IDE
Website: https://github.com/spyder-ide/spyder

Spyder — это Python IDE с открытым исходным кодом, оптимизированная для рабочих процессов в науке о данных (Data Science, Data Mining). Spyder включен в дистрибутив менеджера пакетов Anaconda, поэтому в зависимости от ваших настроек он может быть уже установлен на вашем компьютере.

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

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

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

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

IDE Spyder
IDE Spyder

Плюсы: Вы — специалист по данным, использующий дистрибутив Anaconda Python.

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

Thonny    ↑

Категория: IDE
Website: http://thonny.org/

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

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

Thonny
Thonny

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

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

Если вы заинтересованы в использовании Thonny в качестве редактора Python, обязательно прочитайте специальную статью о Thonny, которая более детально изучена. и показывает вам дополнительные функции.

Какая IDE Python подходит для вас?    ↑

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

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

По мотивам Python IDEs and Code Editors (Guide)

Опубликовано Вадим В. Костерин

ст. преп. кафедры ЦЭиИТ. Автор более 130 научных и учебно-методических работ. Лауреат ВДНХ (серебряная медаль).

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

Ваш адрес email не будет опубликован.