Выбираем среду разработки для Python | OTUS

Выбираем среду разработки для Python

Писать на Python, применяя для этого IDLE либо Python Shell, достаточно удобно. Первый инструмент создан с помощью библиотеки Tkinter и представляет собой не только интегрированную среду разработки, но и средство обучения (Integrated Development and Learning Environment).

Что касается Python Shell, то этот инструмент тоже достаточно популярен и по сути мало чем отличается от обычного Python за исключением одной детали: выражения внутри grave accent символов (`) не являются eval, так как обозначают выполнение команды в шелле. К примеру:

`ls -l`

Здесь ls –l выполнится как shell-команда. И мы можем написать код без (`) в конце строки, что тоже будет корректным синтаксисом:

`ls -l

А ещё есть возможность выполнять несколько команд одновременно на различных строках:

`
echo test > test.txt
cat test.txt
`

Или выполнять команды, которые занимают несколько строк:

`echo This is \
  a very long \
  line

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

Немножко теории

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

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

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

После краткого лирического отступления давайте посмотрим, что сегодня доступно для тех, кто программирует на Python.

Редакторы для Python

1. Sublime Text

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

1-20219-2f44fd.png

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

2. Atom

Этот доступный на всех платформах редактор написан с помощью фреймворка Electron и средствами HTML, CSS и JavaScript. Он имеет множество расширений, включая поддержку Python, устанавливаемую прямо в Atom.

2-20219-47d79b.png

Плюсы — быстро и легко скачивается, без проблем загружается, доступен на всех платформах. Минусы — функции сборки и отладки добавляются посредством расширений. Так как Atom написан с использованием Electron, он работает не как нативное приложение, а как JavaScript-процесс.

3. GNU Emacs

GNU Emacs имеет множество поклонников и существует почти так же долго, как и UNIX.

В той или иной форме доступен бесплатно на каждой платформе. Для кастомизации использует язык Lisp. Само собой разумеется, скрипты кастомизации найдутся и для Python.

3-20219-3f4bda.png

Плюсы — очевидны для тех, кто знаком с Emacs, использует Emacs и любит Emacs. А также для тех, для кого Lisp — второй язык, и с ним вы способны почти на всё. Минусы — процесс кастомизации подразумевает написание Lisp-кода в разные скрипты. Если скопипастить нечего, то придётся изучать Lisp.

4. Vi/Vim

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

4-20219-fdefe1.png

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

5. Visual Studio Code

Visual Studio Code не стоит путать с Visual Studio, так как это полнофункциональный редактор, который доступен на Linux, Windows и Mac OS X. А ещё это расширяемый open-sourcе-инструмент, настраиваемый под любую задачу. Построен, как и Atom, на Electron и имеет, соответственно, те же плюсы и минусы.

Чтобы добавить поддержку Python, выполните поиск по запросу «Python» в Marketplace. Далее нужно нажать «Install» и сделать перезапуск, если потребуется. VS Code определит установленные библиотеки и интерпретатор Python автоматически.

5-20219-0ab19d.png

Плюсы — доступность на всех платформах, большая функциональность, исходники есть в открытом доступе.
Минусы — работает не как нативное приложение, а как JavaScript-процесс. Кроме того, есть люди, которым пользоваться продуктами Microsoft не позволяет религия.

IDE, поддерживающие Python

1. Eclipse + PyDev

Вряд ли вы не слышали про Eclipse. Это open-source IDE, предназначенная для разработки на Java. Среда доступна на Linux, Windows и OS X.

Если нужна интерактивная консоль Python, используют расширение PyDev. Оно устанавливается очень просто: — запускаем Eclipse; — выбираем Help → Eclipse Marketplace; — находим PyDev; — нажимаем кнопку «Install».

6-20219-c6d1f3.png

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

2. Visual Studio

Полнофункциональная IDE от Microsoft, во многом сопоставимая с Eclipse. Доступна на Windows и Mac OS, есть и в бесплатном, и в платном вариантах, имеет свой набор расширений. Одно из них — это Python-расширение под названием Python Tools for Visual Studio. Позволяет писать на Python и включает в себя отладку, автодополнение (IntelliSense), другие инструменты.

7-20219-22816d.png

Плюсы — лёгкая установка PTVS, прекрасный выбор, если вы знакомы с Visual Studio. Минусы — для одного лишь Python среды разработки Visual Studio как-то многовато. Кроме того, нет версии для Linux.

IDE, разработанные специально для Python

1. PyCharm

Одна из лучших полнофункциональных сред разработки, сделанных конкретно для Python. Есть и бесплатный, и платный варианты. IDE доступна на Windows, Mac OS X, Linux.

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

8-20219-fb5663.png

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

2. Spyder

Open-source среда разработки для Python, оптимизированная под data science. Поставляется в наборе с менеджером пакетов Anaconda.

Основная целевая аудитория — data scientist’ы, использующие Python. Например, Spyder прекрасно работает с такими библиотеками, как SciPy, Matplotlib и NumPy.

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

Отличительная особенность — наличие проводника переменных. С его помощью можно увидеть значения переменных в виде таблицы непосредственно внутри IDE. Кроме того, прекрасно работает интеграция с IPython/Jupyter.

Про Spyder говорят, что это инструмент более «приземлённый», если сравнивать с другими IDE. Однако Spyder чаще рассматривают в качестве средства решения определённой задачи, а не в качестве основной среды разработки.

9-20219-9857a0.png

Плюсы — бесплатность, доступность на Windows, Linux, macOS. Если вы data scientist, использующий Anaconda, — это ваш выбор. Минусы — недостаточная функциональность для повседневной работы с точки зрения более опытных разработчиков.

3. Thonny

Среда разработки для новичков. Написана и поддерживается Институтом информатики Тартуского университета (Эстония). Доступна на всех основных платформах.

Tonny устанавливается с версией Python, которая идёт в комплекте, а значит, что-нибудь ещё устанавливать не потребуется. Но если вы продвинутый пользователь, можете эту настройку изменить, чтобы IDE нашла уже установленные библиотеки.

10-20219-271297.png

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

Что же выбрать?

Решение, разумеется, за вами, но пару рекомендаций мы всё же дадим: 1. Вы начинающий питонист? Берите среду разработки с наименьшими возможностями кастомизации по принципу «Меньше препятствий — меньше проблем». 2. Вы уже использовали редакторы для решения каких-либо задач? Выбирайте редактор, вам будет проще. 3. У вас установлена IDE для другого языка? Просто добавьте в неё Python!

Материал написан специально для OTUS на основании статьи «Python IDEs and Code Editors (Guide)».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Запланируй обучение с выгодой!
Получи скидку 10% на все курсы ноября и декабря до 16.11 →