Написание кода на Python с использованием IDLE или Python Shell подходит для простых операций, но эти инструменты приносят расстройство и отчаяние при работе с крупными проектами. Использование среды IDE или редактора кода приносит удовольствие от разработки, но какой из них лучше для вас?
Эта статья поможет прояснить какой вариант среди доступных подходит больше. Вы также увидите плюсы и минусы каждого из них, что поможет принять обоснованное решение.
Чтобы упростить задачу, разделим наш список на две категории инструментов: созданные исключительно для разработки на Python и созданные для общей разработки, но которые можно использовать для работы с Python. Определим для каждого ЗА и ПРОТИВ. Но сначала…
Что такое IDE и редакторы кода
IDE (или интегрированная среда разработки) — программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE включает в себя инструменты, специально предназначенные для разработки программного обеспечения.
Стандартно инструменты содержат :
- Редактор, предназначенный для обработки кода (например, с подсветкой синтаксиса и автозавершением).
- Средства сборки, выполнения и отладки.
- Систему контроля версий.
Большинство IDE поддерживают множество языков программирования и содержат другие дополнительные функции. Поэтому они требуют много времени для загрузки и установки.
Требования к среде разработки на Python
Итак, что нужно знать о среде программирования. Списки функций варьируются от приложения к приложению, но есть основной набор функций, который упрощает разработку:
- Сохранять и перезагружать файлы
IDE или редактор позволят сохранить работу и открыть ее позже, в том же состоянии, в котором она была до закрытия. - Запустить код в среде программирования
С помощью IDE запустить код Python, будет не сложнее, чем из простого текстового редактора. - Поддержка отладки
Возможность проверить код во время перед запуском — особенностью всех IDE и прочих редакторов кода. - Подсветка синтаксиса
Определение ключевых слов, переменных и символов в коде делает чтение и понимание кода намного проще. - Автоматическое форматирование кода
Любой редактор или IDE будет распознавать двоеточие в концеfor
илиwhile
.
Есть много других функций: управление исходным кодом, модель расширения, инструменты сборки и тестирования, помощь с синтаксисом языка и другие. Но приведенный выше список — основные функции, которые поддерживает хорошая среда редактирования.
Учитывая эти особенности, давайте рассмотрим некоторые инструменты общего назначения, которые используют для разработки в Python.
Среда разработки / IDE с поддержкой Python
Eclipse + PyDev
Категория: IDE
Веб-сайт: www.eclipse.org
Инструменты Python: PyDev, www.pydev.org
Если вы интересовались открытым программным обеспечением, скорее всего, слышали об Eclipse. Доступный для Linux, Windows и OS X, Eclipse де-факто открытое программное обеспечение для разработки на Java
. Для него создано много расширений и надстроек, что делает Eclipse полезным в большинстве областях разработки.
Одно из них — PyDev, который позволяет отлаживать программы на Python, автодополнять код и пользоваться интерактивной консолью Python. Установка PyDev в Eclipse проста: из Eclipse выберите «Справка», «Eclipse Marketplace», затем ищите PyDev. Нажмите «Установить» и при необходимости перезапустите Eclipse.
Плюсы: Если уже установлен Eclipse, добавление PyDev будет быстрее и проще. PyDev прост для опытного разработчика Eclipse.
Минусы: Если вы только начинаете знакомство с Python или с разработкой программного обеспечения, Eclipse покажется сложным. Выше было упомянуто, что IDE требуют много знаний для правильного использования. Eclipse — багаж знаний, при этом мешок микропроцессов в придачу.
Sublime Text
Категория: Редактор кода
Веб-сайт: https://www.sublimetext.com
Sublime Text, написанный инженером Google в погоне за мечтой о лучшем текстовом редакторе, чрезвычайно популярный редактор кода. Sublime Text, поддерживается на всех платформах, имеет встроенную поддержку редактирования кода Python и богатый набор расширений (называемых пакетами), с помощью которых возможности синтаксиса и редактирования расширяются.
Установка дополнительных пакетов Python покажется сложной: пакеты Sublime Text написаны на Python, и для установки редактора часто требуется выполнить скрипты Python непосредственно в Sublime Text.
Плюсы: Sublime Text популярный в сообществе разработчиков. Как редактор кода, Sublime Text быстрый, легкий и хорошо поддерживается.
Минусы: Sublime Text не бесплатный, хотя можно использовать ознакомительную версию неопределенный период времени. Установка расширений потребует усилий, а так же отсутствие прямой поддержки для выполнения или отладки кода из редактора — минус.
Atom
Категория: Редактор кода
Веб-сайт: https://atom.io/
Доступный на всех платформах Atom считается «хакерским текстовым редактором 21-го века». Проработанный интерфейс, работа с файловой системой и магазин расширений. Свободный в доступе Atom создан с использованием Electron, фреймворка для создания компьютерных приложений, использующих JavaScript
, HTML
и CSS
. Поддержка языка Python обеспечивается расширением, которое можно установить при запуске Atom.
Плюсы: Поддерживается на всех платформах, благодаря Electron
. Atom невелик по объему и быстро загружается.
Минусы: Поддержка работы с кодом и отладки не встроена, но есть дополнения к редактору. Поскольку Atom построен на Electron
, он работает в как процесс JavaScript
, а не как приложение.
GNU Emacs
Категория: Редактор кода
Веб-сайт: https://www.gnu.org/software/emacs/
Перед началом войны iPhone и Android, задолго до войны Linux против Windows, и даже до войны ПК против Mac, шла Война редакторов и GNU Emacs участвовал в ней. Будучи представленным как «масштабируемый, настраиваемый, самодокументирующийся редактор отображения в реальном времени», с GNU Emacs работают почти так же давно, как и с UNIX. Всегда бесплатная и доступная на каждой платформе (в той или иной форме), GNU Emacs использует форму мощного языка программирования Lisp для настроек.
Плюсы: Вы знакомы с Emacs, пользуетесь Emacs, нравится работать с Emacs. Lisp — второй язык, и вы знаете силу, которую он дает для больших свершений.
Минусы: Настройка означает написание (или копирование) кода Lisp в файлы скриптов. Вам, возможно, придется изучить Lisp, чтобы понять, как это делать.
Vi / Vim
Категория: Редактор кода
Веб-сайт: https://www.vim.org/
С другой стороны войны текстовых редакторов стоит VI (или VIM). По умолчанию он включен практически в каждую UNIX-систему и Mac OS X. У VI столько же последователей.
VI и VIM — модальные редакторы, отделяющие просмотр файла от редактирования файла. VIM усовершенствованная копия исходного VI, включая модель масштабирования и создание кода на месте. VIMScripts подходят для различных задач разработки на Python.
Плюсы: Вы знаете все о VI, активно пользуетесь VI, нравится работать с VI. VIMScripts не пугает вас и вы знаете как заставь его делать, что нужно.
Минусы: Как и с Emacs, может быть не удобно находить или писать собственные скрипты, чтобы работать с Python, и поддерживать работу редактора.
Visual Studio
Категория: IDE
Веб-сайт: https://www.visualstudio.com/vs/
Инструменты Python: Python Tools for Visual Studio, PTVS
Visual Studio — полнофункциональная IDE, которая во многом схожа с Eclipse. Построена исключительно для Windows и Mac OS, VS поставляется как с бесплатными (Community), так и с платными (Professional и Enterprise) версиями. Visual Studio позволяет разрабатывать под различные платформы и поставляется с собственным магазином расширений.
Python Tools для Visual Studio (PTVS) позволяет программировать на Python в Visual Studio, а Intellisense для Python, отлаживать.
Плюсы: Если у вас уже установлен Visual Studio для других разработок, добавление PTVS происходит быстрее и проще.
Минусы: Visual Studio — тяжелый, что бы использовать для одного только Python. Кроме того, для Linux нет установки Visual Studio.
Visual Studio Code
Категория: Редактор кода
Веб-сайт: 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 проста и доступна. Поищите Python в магазине дополнений, нажмите «Установить» и при необходимости перезапустите. VS Code автоматически увидит установку и библиотеки Python.
Плюсы: Благодаря Electron
, VS Code доступен на каждой платформе, полнофункциональный, несмотря на небольшой размер и открытый исходный код.
Минусы: Electron
означает, что VS Code не отдельное приложение. Кроме того, у некоторых людей принцип — не использовать продукты Microsoft.
Специализированные редакторы и IDE для Python
PyCharm
Категория: IDE
Веб-сайт: https://www.jetbrains.com/pycharm/
Одной из лучших (и единственный) полнофункциональных выделенных IDE для Python является PyCharm. Доступный как в платных (Professional), так и в бесплатных версиях с открытым исходным кодом (Community), PyCharm быстро и легко устанавливается на платформах Windows, Mac OS X и Linux.
Исходя из этого, PyCharm поддерживает разработку Python напрямую. Просто откройте новый файл и пишите код. Запускайте и отлаживайте код Python непосредственно внутри PyCharm. Плюс он поддерживает управление версиями и проектами.
Плюсы: Это де-факто среда IDE Python, с тонной поддержки в целом и поддержки сообщества. Редактирует, запускает и отлаживает Python из коробки.
Минусы: PyCharm может медленно грузиться, а настройки по умолчанию нуждаются в настройке для существующих проектов.
Spyder
Категория: IDE
Веб-сайт: https://github.com/spyder-ide/spyder
Spyder — IDE Python с открытым исходным кодом, оптимизированная для области анализа данных. Spyder поставляется с дистрибутивом диспетчера пакетов Anaconda, поэтому зависит от уже установленных настроек.
Что интересно в Spyder, так это то, что целевая аудитория специалисты по анализу данных, использующие Python. Например, Spyder интегрируется с библиотеками для анализа данных в Python, такими как SciPy, NumPy, и Matplotlib.
Spyder предлагает много «простых возможностей IDE», которые пригодятся, например редактор кода с надежной подсветкой синтаксиса, автозавершением кода Python и есть даже встроенный браузер с документацией.
Особенность, которой нет в других редакторах Python, «проводник переменных» Spyder, который отображает данные с использованием табличного макета внутри среды разработки. Если вы изучаете анализ данных, используя Python, вы влюбитесь в эту уникальную функцию. Хорошая интеграция с IPython, Jupyter.
Spyder более специфичен, чем другие IDE. Инструмент особого назначения, но не то, чем пользоваться как основной средой программирования каждый день. Что приятно в этой среде разработки Python, так это то, что она доступна бесплатно для Windows, MacOS и Linux.
Плюсы: Для тех, кто занимается анализом данных, используя дистрибутив Anaconda Python.
Минусы: Опытные разработчики Python считают Spyder слишком простым для повседневной работы и выбирают масштабируемое решение для IDE или настраиваемого редактора.
Thonny
Категория: IDE
Веб-сайт: https://thonny.org/
Недавнее дополнение к семейству IDE Python. Thonny считается IDE для новичков. Написанный и поддерживаемый Institute of Computer Science в University of Tartu в Эстонии, Thonny доступен для всех основных платформ с инструкциями по установке на сайте.
По умолчанию Thonny устанавливается уже с Python, поэтому не нужно устанавливать ничего дополнительно.
Плюсы: Прост для начинающих пользователь Python которые хотят, чтобы IDE была готова к работе.
Минусы: Для более опытных разработчиков Python Thonny будет мало для большинства проектов. Кроме того, будучи новым инструментом, он может выдавать ошибки, которые сложно иправить.
Какая Python IDE подходит вам?
Только вы можете принять это решение, но вот основные рекомендаций:
- Начинающие разработчики Python должны попробовать решения с минимальными настройками. Чем меньше помех, тем лучше.
- Если вы используете текстовые редакторы для других задач (например, веб-страниц или документации), присмотритесь к полноценным редакторам кода.
- Если вы уже разрабатываете другое программное обеспечение, проще добавить Python к существующему набору инструментов.