- Выбираем среду разработки для Python
- Немножко теории
- Редакторы для Python
- 1. Sublime Text
- 2. Atom
- 3. GNU Emacs
- 4. Vi/Vim
- 5. Visual Studio Code
- IDE, поддерживающие Python
- 1. Eclipse + PyDev
- 2. Visual Studio
- IDE, разработанные специально для Python
- 1. PyCharm
- 2. Spyder
- 3. Thonny
- Что же выбрать?
- 10 Лучших IDE для Python
- PyCharm
- PyDev
- WingWare
- Komodo IDE
- Eric
- Eclipse
Выбираем среду разработки для Python
Писать на Python, применяя для этого IDLE либо Python Shell, достаточно удобно. Первый инструмент создан с помощью библиотеки Tkinter и представляет собой не только интегрированную среду разработки, но и средство обучения (Integrated Development and Learning Environment).
Что касается Python Shell, то этот инструмент тоже достаточно популярен и по сути мало чем отличается от обычного Python за исключением одной детали: выражения внутри grave accent символов (`) не являются eval, так как обозначают выполнение команды в шелле. К примеру:
Здесь ls –l выполнится как shell-команда. И мы можем написать код без (`) в конце строки, что тоже будет корректным синтаксисом:
А ещё есть возможность выполнять несколько команд одновременно на различных строках:
` 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-кода. При этом богатый набор пакетов расширяет возможности редактирования и синтаксиса.
Плюсы — большое комьюнити, хорошая поддержка, простота, быстрая скорость работы. Минусы — Sublime Text небесплатен, а установка расширений иногда превращается в тот ещё квест. Отладка и запуск кода не поддерживаются.
2. Atom
Этот доступный на всех платформах редактор написан с помощью фреймворка Electron и средствами HTML, CSS и JavaScript. Он имеет множество расширений, включая поддержку Python, устанавливаемую прямо в Atom.
Плюсы — быстро и легко скачивается, без проблем загружается, доступен на всех платформах. Минусы — функции сборки и отладки добавляются посредством расширений. Так как Atom написан с использованием Electron, он работает не как нативное приложение, а как JavaScript-процесс.
3. GNU Emacs
GNU Emacs имеет множество поклонников и существует почти так же долго, как и UNIX.
В той или иной форме доступен бесплатно на каждой платформе. Для кастомизации использует язык Lisp. Само собой разумеется, скрипты кастомизации найдутся и для Python.
Плюсы — очевидны для тех, кто знаком с Emacs, использует Emacs и любит Emacs. А также для тех, для кого Lisp — второй язык, и с ним вы способны почти на всё. Минусы — процесс кастомизации подразумевает написание Lisp-кода в разные скрипты. Если скопипастить нечего, то придётся изучать Lisp.
4. Vi/Vim
VI и VIM — это модальные редакторы, отделяющие просмотр файла от его редактирования. По умолчанию доступны на почти каждой UNIX-системе. В VIM есть всё, что и в VI, но добавлен ряд усовершенствований, например, доступны расширения. Для решения Python-задач используют VIMScripts.
Плюсы — очевидны для тех, кто знаком с 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 автоматически.
Плюсы — доступность на всех платформах, большая функциональность, исходники есть в открытом доступе.
Минусы — работает не как нативное приложение, а как JavaScript-процесс. Кроме того, есть люди, которым пользоваться продуктами Microsoft не позволяет религия.IDE, поддерживающие Python
1. Eclipse + PyDev
Вряд ли вы не слышали про Eclipse. Это open-source IDE, предназначенная для разработки на Java. Среда доступна на Linux, Windows и OS X.
Если нужна интерактивная консоль Python, используют расширение PyDev. Оно устанавливается очень просто: — запускаем Eclipse; — выбираем Help → Eclipse Marketplace; — находим PyDev; — нажимаем кнопку «Install».
Плюсы — возможность отладки и автодополнения кода, лёгкая установка. Если вы опытный пользователь среды разработки Eclipse — это ваш выбор. Минусы — для полноценного использования нужен опыт. Если вы новичок в Python, эта среда разработки может показаться достаточно сложной.
2. Visual Studio
Полнофункциональная IDE от Microsoft, во многом сопоставимая с Eclipse. Доступна на Windows и Mac OS, есть и в бесплатном, и в платном вариантах, имеет свой набор расширений. Одно из них — это Python-расширение под названием Python Tools for Visual Studio. Позволяет писать на Python и включает в себя отладку, автодополнение (IntelliSense), другие инструменты.
Плюсы — лёгкая установка PTVS, прекрасный выбор, если вы знакомы с Visual Studio. Минусы — для одного лишь Python среды разработки Visual Studio как-то многовато. Кроме того, нет версии для Linux.
IDE, разработанные специально для Python
1. PyCharm
Одна из лучших полнофункциональных сред разработки, сделанных конкретно для Python. Есть и бесплатный, и платный варианты. IDE доступна на Windows, Mac OS X, Linux.
PyCharm поддерживает Python-разработку напрямую — достаточно открыть новый файл и начать писать код. Есть возможность запускать и отлаживать код из PyCharm, присутствует поддержка системы управления версиями.
Плюсы — большое комьюнити, поддержка всего и вся, работа «из коробки», запуск, редактирование, отладка. Минусы — PyCharm может загружаться довольно медленно, а настройки по умолчанию обычно требуют корректировки.
2. Spyder
Open-source среда разработки для Python, оптимизированная под data science. Поставляется в наборе с менеджером пакетов Anaconda.
Основная целевая аудитория — data scientist’ы, использующие Python. Например, Spyder прекрасно работает с такими библиотеками, как SciPy, Matplotlib и NumPy.
А ещё инструмент обладает широкой функциональностью, которая присуща всем стандартным средам разработки: редактирование, подсветка синтаксиса, автодополнение кода и даже встроенный обозреватель документации.
Отличительная особенность — наличие проводника переменных. С его помощью можно увидеть значения переменных в виде таблицы непосредственно внутри IDE. Кроме того, прекрасно работает интеграция с IPython/Jupyter.
Про Spyder говорят, что это инструмент более «приземлённый», если сравнивать с другими IDE. Однако Spyder чаще рассматривают в качестве средства решения определённой задачи, а не в качестве основной среды разработки.
Плюсы — бесплатность, доступность на Windows, Linux, macOS. Если вы data scientist, использующий Anaconda, — это ваш выбор. Минусы — недостаточная функциональность для повседневной работы с точки зрения более опытных разработчиков.
3. Thonny
Среда разработки для новичков. Написана и поддерживается Институтом информатики Тартуского университета (Эстония). Доступна на всех основных платформах.
Tonny устанавливается с версией Python, которая идёт в комплекте, а значит, что-нибудь ещё устанавливать не потребуется. Но если вы продвинутый пользователь, можете эту настройку изменить, чтобы IDE нашла уже установленные библиотеки.
Плюсы — очевидны для начинающих Python-программистов, которые рвутся в бой и подбирают IDE. Минусы — недостаточно функциональности для продвинутых пользователей. Так как IDE достаточно новая, могут возникнуть проблемы, а ответы на вопросы вы вряд ли найдёте в сети.
Что же выбрать?
Решение, разумеется, за вами, но пару рекомендаций мы всё же дадим: 1. Вы начинающий питонист? Берите среду разработки с наименьшими возможностями кастомизации по принципу «Меньше препятствий — меньше проблем». 2. Вы уже использовали редакторы для решения каких-либо задач? Выбирайте редактор, вам будет проще. 3. У вас установлена IDE для другого языка? Просто добавьте в неё Python!
Материал написан специально для OTUS на основании статьи «Python IDEs and Code Editors (Guide)».
10 Лучших IDE для Python
Python очень популярный язык программирования. Благодаря открытому исходному коду и использованию в качестве скриптового языка, языка веб программирования, мобильных и настольных приложений. Все это возможно благодаря безграничным опциям модулей Python. При написании кода в Python, интегрирования модулей и библиотек для построения больших систем, текстового редактора недостаточно, нам нужна хорошо интегрированная среда разработки для этих целей. Мы провели небольшое исследование и составили следующий список лучших IDE для Python (начиная с лучшего):
PyCharm
Разработан под Python, Javascript, Coffeescript, Typescript, HTML/CSS, AngularJS, Node.js и другие языки. Возможности интегрированного модульного тестирования, проверки кода, интегрированного контроля версий, инструменты рефакторинга кода, набор инструментов для навигации проекта, выделения и автоматического завершения. Поддержка ряда сторонних фреймворков для веб-разработки, таких как Django, Pyramid, web2py, Google App Engine и Flask, что делает его универсальной IDE для быстрой разработки приложений.
PyDev
- Плагин Python для Eclipse
- Поддерживается всеми известными операционными системами
- Источники в свободном доступе по публичной лицензии Eclipse
- Обработка доработки кода, интеграция отладки Python, добавление токен-браузера, инструменты рефакторинга и многое другое
- Возможность создания новых проектов Django, выполнение команд Django при помочи горячих клавиш и использование отдельной конфигурации запуска только для Django.
WingWare
- Отличный IDE, разработанный WingWare
- Поддержка Windows, Linux и MacOS
- Это закрытый исходник
Содержит мощный инструмент отладки, который позволяет устанавливать контрольные точки, возможность пошагового выполнения кода, проверка данных, удаленная отладка и отладка шаблонов Django. Поддержка matplotlib, с автоматическим обновлением графиков. Также предоставляется доработка кода, подсветка синтаксиса, исходный браузер, графический отладчик и поддержка систем управления версиями.
Komodo IDE
- IDE для динамических языков, таких как Python, PHP и RUBY
- Поддержка Windows, MacOS и Linux
- Закрытый исходник с собственной лицензией
Поддержка Django: подсветка синтаксиса и завершение кода для шаблонов (кстати, я так и не столкнулся с ситуацией, где это было бы применимо). Содержит базовые функции, такие как рефакторинг кода, автозаполнение, calltips, сопоставление скобок, браузер кода, переход к определению, графическая отладка, многопроцессная отладка, многопоточная отладка, конфигурация точки остановки, профилирование кода, интеграция с тестируемым юнитом и интеграция со сторонними библиотеками, такими как pyWin32. Также в наличии такие функции как интеграция менеджера пакетов, отслеживание изменений, инструмент просмотра заметок, быстрые закладки, переход ко всему (Commando) и многое другое.
Eric
- IDE и по совместительству редактор Python от Detlev Offenbach.
- С открытым кодом
- Поддержка Windows
Содержит такие функции как отладчик Python и Ruby, покрытие кода, автоматическая проверка кода, оболочка Python и Ruby, браузер класса и многое другое. Также имеются функции для совместного редактирования. Диалоги Regex и Qt, опции для создания сторонних приложений прямо в редакторе, диаграммы приложения, возможности управления проектами, а также интерактивная оболочка Python. Многоязычный пользовательский интерфейс, который включает в себя Английский, Немецкий, Русский, Французский, Испанский, Итальянский, Турецкий и Китайский языки, контроль версии для Subversion, Mercurial и Git, использование объявлений в плагинах, и многое другое.
Eclipse
- Платформа общего назначения
- Поддержка всеми операционными системами
- Открытый код и поддержка всех ведомых языков
- Великое множество плагинов