IDE и редакторы кода для Python
По большому счету, программный код на Python можно писать хоть в Блокноте, и, вполне возможно, он будет работать. Но при этом чудовищное количество времени уйдет на исправления и проверку.
К счастью, на рынке существует множество удобных программ для написания кода. Некоторые из них специализированы под Python, другие позволяют работать с несколькими языками программирования.
В этой статье мы поговорим о некоторых популярных редакторах, их сильных и слабых сторонах.
Что такое IDE и редакторы кода
IDE (integrated development environment) — это специализированное программное обеспечение для создания программного кода.
Типичные функции редактора кода:
- Проверка синтаксиса (если вы не закрыли тег или пропустили точку с запятой, редактор подсветит кусок кода с ошибкой);
- Инструмент контроля версий (вы всегда можете увидеть, в чем разница между двумя сохранениями кода, даже если это один знак);
- Инструмент запуска готового кода (можно запустить прямо из программы);
- Инструменты поиска и исправления ошибок кода.
Большинство IDE поддерживает разные языки программирования, то есть в одном и том же инструменте можно создавать код и на Python, и на Java, и на С++, и на других языках. Правда, для того, чтобы добавить в среду дополнительный язык, обычно требуется поставить дополнительный модуль.
Поговорим о том, что должен уметь редактор кода для Python и какие IDE справляются с этими задачами лучше всего.
Основные задачи редактора для Python
Мы разделили задачи редактора для Python на основные и дополнительные. Основные – это те, без которых писать код невозможно. Дополнительные – это так называемые «фишки», они упрощают выполнение определенных задач, но не все ими пользуются.
Основные задачи редактора для Python:
- Автоматическое форматирование;
- Подсветка синтаксиса;
- Отладка перед запуском;
- Быстрый запуск кода;
- Сохранение и возобновление работы с того же места.
Остальные функции и расширения, включая инструменты тестирования, считаются дополнительными. Среды для python могут их содержать по умолчанию либо же они инсталлируются в виде модулей. Возможность добавлять дополнительные опции – тоже достоинство для среды разработки для python. Но начинающий разработчик может запутаться в обилии функций и потратить много времени на освоение редактора.
Рассмотрим, какие редакторы python популярны на рынке ПО, в чем их сильные и слабые стороны.
Notepad++
В текстовом редакторе Notepad++ можно записывать код и сохранять в специальном формате, например, html. Более того, на хорошо известном каждому программисту сайте StackOverflow есть рейтинг, который показывает, что Notepad++ – до сих пор один из самых популярных инструментов для написания кода. Поскольку это не специализированное приложение, писать в нем можно на любом языке программирования.
Но все же текстовый редактор – это не идеальный инструмент для кодинга. На него надо ставить дополнительные плагины, не все удобные функции доступны, и так далее. За счет тулбара и автоматических функций специализированная IDE для Python удобнее.
Python IDLE
Эта IDE для python поставляется вместе с дистрибутивом. Наверное, чаще всего сакральную фразу «Hello World» пишут именно в этом редакторе. Есть подсветка синтаксиса, автозавершение кода и встроенный инструмент отладки.
Написать первую программу можно в интерактивном режиме. А можно переключить редактор в режим разработки кода, а затем запустить. При этом окно приложения делится на две части: в одной вы видите код, в другой – его исполнение.
Достоинства редактора очевидны: поставляется по умолчанию, прост в использовании, не перегружен функционалом. Идеален для начинающих разработчиков.
Но это же и его недостатки: для программ сложнее Hello World редактору не хватает функционала, так что опытные питонисты предпочитают другое ПО.
Visual Studio Code
Сразу предупреждаем: VS Code – это продукт от Microsoft. Если у вас есть решительные предубеждения против корпорации Билла Гейтса, лучше выбирайте из других редакторов для Python. А для остальных мы расскажем о достоинствах этой IDE.
Первое достоинство VS Code – продукт поставляется бесплатно. Это одна из причин, почему в рейтинге StackOverflow он занимает одну из верхних строчек. Но было бы несправедливо говорить, что VS Code популярен только у любителей бесплатного софта.
Еще одно бесспорное достоинство VS Code – универсальность. Редактор устанавливается под разные операционные системы – разумеется, под Windows, но также и под MacOS, и под Linux.
А еще он поддерживает разные языки программирования, постоянно обновляется и развивается. В принципе, этот редактор может стать основным рабочим инструментом почти любого разработчика.
Для работы с Python нужно установить несколько дополнительных пакетов. Это несложно сделать, поскольку все дополнения и обновления есть в открытом доступе.
Из функционала разработчики этого редактора делают особый акцент на IntelliSense. Это совокупность функций, которые работают как «умный редактор» кода – автозавершают код, предлагают переменные, показывают классы, методы и документы нужного типа, и так далее.
Также у редактора есть встроенные инструменты для поиска ошибок и дебаггинга. Отдельно хотелось бы обратить внимание на интеграцию с Git. Для хорошего программиста умение работать с инструментами контроля версий – одно из ключевых. А эта интеграция помогает работать с версиями быстрее и проще.
Итого, плюсы и минусы Visual Studio Code:
— Плюсы: большая многофункциональная и универсальная платформа, которая постоянно развивается и поставляется бесплатно.
— Минусы: занимает довольно много места, иногда сбоит в работе, множество функций могут запутать начинающего разработчика.
Sublime Text
Когда-то инженер Google решил написать самый лучший и универсальный текстовый редактор на свете. Вряд ли получившийся продукт достиг этой цели. Тем не менее, редактор получился неплохой.
Sublime Text — третья по популярности среда разработки, согласно тому же рейтингу StackOverflow. Это еще один многофункциональный редактор, который работает с несколькими языками программирования.
Редактор устанавливается бесплатно, на испытательный период, у которого не прописан конечный срок. То есть пользоваться им можно бесконечно, но периодически будут появляться сообщения с просьбой купить лицензию.
Одна из сильных сторон Sublime Text — наличие большого комьюнити пользователей. Они создают органическую базу знаний о продукте. Так что, столкнувшись с какими-то сложностями, можно узнать способ решения проблемы у других пользователей.
Прелесть Sublime Text – в тонких настройках. Каждый желающий может скачать нужные пакеты для настройки автозавершения кода, отладки, и так далее. Хотя установка этих пакетов может быть непростой, поскольку они тоже написаны на Python.
Большая ложка дегтя в этой бочке меда – отсутствие инструментов отладки и запуска кода. Так что этот редактор мы бы рекомендовали более опытным разработчикам.
Thonny
Thonny – новый редактор для питона, предустановленный на Linux-type системах. Особенно хорошо эта комбинация подходит для использования на мини-компьютерах Raspberry Pi.
Как и IDLE, python-редактор Thonny рассчитан на неопытных разработчиков. У этой IDE есть необходимые функции: автозавершение, подсветка ошибок, отладчик. Работать в среде Thonny очень легко.
Но, как мы знаем, простота — это еще и недостаток. Первый и самый очевидный – ограниченный функционал. Но куда важнее то, что эта IDE для Python вышла совсем недавно, и при возникновении проблем – а они регулярно возникают – негде узнать или спросить, как эту проблему исправить.
Atom
Atom это много больше, чем редактор для Python. Это специальное приложение, созданное с помощью фреймворка Electron. Его называют хакерским текстовым редактором 21-го века.
Что хорошего в этой IDE: очень быстро загружается и запускается, работает на всех платформах, занимает мало места и на жестком диске, и в оперативной памяти.
Чтобы программировать на Python, нужно установить несколько специальных пакетов: autocomplete-python, linter-flake8, python-debugger. В отличие от Sublime, ставить эти пакеты легко.
В редакторе нет встроенных отладчика и дебаггера, их надо устанавливать дополнительно. Лучше всего он подойдет для опытных разработчиков, которые используют одно программное решение для нескольких языков.
Jupyter Notebook
От большинства других приложений в нашем списке Jupyter Notebook отличается открытым исходным кодом. Этот инструмент очень любят дата аналитики: в нем есть возможность очищать и преобразовывать данные, создавать красивые визуализации и делиться документами. А кроме того, для кода на Python в редакторе есть разметка и другие функции.
PyСharm
Мы уже описали несколько решений, но большинство из них являются универсальными инструментами, которые работают с множеством языков программирования. В отличие от них, PyCharm как среда разработки создана специально для Python, и работает на всех основных платформах – Windows, MacOS, Linux.
Вот как раз в этом приложении есть все основные и дополнительные функции, нужные для создания кода на Python. Автозавершение, исправления, отладка, подсветка синтаксиса, рефакторинг и контроль версий – доступно все.
Программа поставляется в бесплатной и платной версии. Для решения большинства задач бесплатной версии достаточно, так что профессиональную стоит устанавливать именно профессионалам.
И надо иметь в виду, что эта IDE требовательна к объему оперативной памяти, так что если у вас 8Гб оперативки или меньше, эффективно работать PyCharm не будет.
Spyder
Эта IDE для Python поставляется вместе с дистрибутивом Anaconda. Она написана на Python и для Python, и разработана высококлассными специалистами специально для них самих. Аналитики данных, ученые и инженеры создали мощную среду с набором расширенных функций и красивой визуализацией исключительно для Python.
Возможно, кому-то интерфейс этого редактора покажется слишком консервативным. Спишем это на строгий профессиональный стиль: Spyder – один из самых сложных и профессиональных редакторов для Python.
Vim
Этот текстовый редактор разработан для MacOS и Unix. Один из самых профессиональных инструментов в нашем списке, он высокопроизводителен и компактен. Набор функций редактора собирается с помощью загрузки плагинов.
Инструмент этот непростой, и на его освоение потребуется немало времени. Так что для новичков мы его не рекомендуем.
Онлайн редакторы для Python
Сейчас многие программные решения переехали в облачные сервисы – так проще и выгоднее. Для среды разработки на Python дорогу продолжили многочисленные онлайн-школы IT-технологий. Чтобы задавать студентам задачи по написанию кода с возможностью быстрой проверки, сразу несколько онлайн-школ выпустили свои облачные редакторы.
Оказалось, что разрабатывать приложения на Python в облаке вполне реально. Подобные решения можно найти на сайте w3schools и некоторых других. Конечно, они послабее стационарных IDE, зато не требуют дополнительных настроек и легко запускаются.
Редактор кода для Python под Mac/Windows
Большинство современных редакторов для Python успешно работает на разных платформах. Кроссплатформенные IDE – PyCharm, IDLE Python, Sublime. VS Studio тоже позиционируется как кросс-платформенное решение, но в родной для себя среде Windows он выглядит органичнее и работает чуть лучше.
Ну а если вам нужен нативный редактор для Python под MacOs, присмотритесь к VIM. Это решение довольно сложное, но и возможности у него побогаче.
Какой редактор кода для Python выбрать
Как видите, предложений на рынке хватает, и выбрать редактор кода для Python можно под свои предпочтения. Поэтому мы не будем рекомендовать конкретные IDE, а вместо этого предложим три принципа выбора.
- Лучшее – враг хорошего. Если у вас уже установлена IDE для другого языка программирования, и она вас устраивает, проверьте, можно ли добавить в нее Python.
- Специализированный инструмент всегда лучше. Если вы пишете код в текстовом редакторе, подумайте, как перейти на инструмент для создания кода. Это сделает вашу работу быстрее и проще.
- Не усложняйте. В вашем первом редакторе кода может не быть десятка дополнительных функций, и это неважно. Достаточно основных, пока вы не привыкнете работать с IDE.
Выбираем среду разработки для 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-кода. При этом богатый набор пакетов расширяет возможности редактирования и синтаксиса.
Плюсы — большое комьюнити, хорошая поддержка, простота, быстрая скорость работы. Минусы — 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 и редакторов кода для веб‑разработчиков
Писать код при желании можно и в текстовом редакторе — ничто не мешает вам создать простейший сайт в «Блокноте», сохранив файл с расширением .html. Однако если вы хотите сделать процесс комфортнее и быстрее, стоит обратить внимание на интегрированные среды разработки (Integrated Development Environment, IDE) или продвинутые редакторы. В этой подборке мы собрали 10 популярных платформ, которые предлагают удобные функции для веб-разработчиков.
Что такое IDE и зачем она вам
Существует немало функций IDE, которые вы вряд ли встретите в более простых инструментах, особенно если работаете над созданием веб-приложения или довольно сложного сайта. Вам, скорее всего, пригодятся:
— компилятор: превращает ваш код в исполняемый файл;
— интерпретатор: запускает скрипты, которые не нужно компилировать;
— отладчик: позволяет находить проблемные места и ошибки в коде;
— инструменты автоматизации: помогают автоматизировать сборку проекта и ускорить процесс разработки.
В IDE все эти элементы обычно объединяются в единую платформу.
Несмотря на многие преимущества IDE, на самом деле они нужны не всегда. Если вы занимаетесь в основном разработкой веб-интерфейсов, вполне можно обойтись и стандартным редактором кода. Также IDE не стоит использовать для создания простых статических сайтов, иначе вы можете начать стрелять из пушки по воробьям: более сложные инструменты скорее замедлят процесс, чем сделают его эффективнее.
На что обратить внимание при выборе среды разработки
1. Поддержка нужной вам операционной системы (ОС). Особое внимание этому пункту стоит уделить, если вы работаете в команде. Лучше всего отдавать предпочтение кроссплатформенным решениям.
2. Возможности совместной разработки. Это опять же относится к командам, собирающимся работать с общим репозиторием. Многие платформы, которые мы рассмотрим ниже, интегрируются с Git.
3. Поддерживаемые языки (программирования, разумеется). Здесь не забывайте о долгосрочной перспективе — вдруг когда-нибудь вы решите добавить в проект возможности, реализуемые на каком-либо другом языке. Стоит выбрать среду, которая поддерживает несколько языков программирования.
А ещё веб-разработчику важно выбрать хостинг с поддержкой нужного языка. Например, в REG.RU на большинстве тарифов хостинга есть поддержка PHP, Perl и Python, а также СУБД MySQL. А те, кто хочет получить больше возможностей для кастомизации, могут обратить внимание на Облачные серверы со стабильными версиями Ubuntu, CentOS, Debian и шаблонами для веб-разработки.
4. Цена вопроса. Есть много бесплатных решений с открытым исходным кодом. Однако, как обычно бывает почти со всем подобным программным обеспечением, стоимость зависит от количества доступных функций.
Чтобы помочь вам определиться, мы собрали 10 лучших IDE и редакторов кода, которые поддерживают популярные языки для веб-разработки (HTML, CSS, JavaScript, PHP и Python). Сразу оговоримся, что это не топ, а список (первый — не значит лучший, последний — не значит самый плохой). Поэтому вы можете выбирать любой инструмент, исходя из своих нужд и предпочтений.
Примечание: все указанные цены актуальны на момент написания материала.
1. Visual Studio + Visual Studio Code
IDE от Microsoft, Visual Studio, доступна только для операционных систем Windows и macOS. Поддерживает Python, PHP, JavaScript, HTML, CSS и многие другие языки.
Visual Studio обладает всеми преимуществами IDE, включая удалённую отладку. Кроме того, платформа содержит:
— Умное дополнение кода IntelliSense, чтобы ускорить процесс написания программ;
— Инструменты для совместной работы: управление доступами и настраиваемые параметры редактора позволят писать код в едином стиле;
— Интеграцию с Git;
— Простое развёртывание благодаря встроенной интеграции с Azure.
К недостаткам Visual Studio можно отнести стоимость: цены на лицензии Professional, предназначенные для профессиональных команд разработчиков, начинаются от 45 $ в месяц. Корпоративная лицензия обойдётся в 1199 $ за первый год, продление — 799 $ в год.
Есть и хорошие новости: для старта вам вполне подойдёт и бесплатная Community лицензия — но учтите, что у неё есть некоторые ограничения.
Visual Studio Code
В качестве более простого решения можете рассмотреть бесплатный, но очень мощный и популярный редактор Visual Studio Code — он предлагает не так много возможностей, как IDE, зато позволяет писать код более чем на 72 языках и включает функции отладки. VS Code поддерживается не только на Windows и macOS, но и на Linux.
В редакторе есть умное автодополнение IntelliSense, встроенная интеграция с Git, а также огромная библиотека расширений.
А ещё разработчики GitHub собираются встроить VS Code прямо в браузер с помощью инструмента Codespaces, чтобы можно было вносить изменения в проект, не выходя из GitHub. Сейчас Codespaces находится на этапе бета-тестирования.
2. IntelliJ IDEA
IntelliJ IDEA — Java-ориентированная платформа для разработки от JetBrains. Несмотря на это, она позволяет работать со всеми языками, которые мы упоминали выше (HTML, CSS, JavaScript, PHP и Python). Из коробки вам будут доступны инструменты для написания кода на HTML, CSS и JavaScript (в версии Ultimate). Поддержку PHP и Python можно добавить с помощью плагинов.
IntelliJ IDEA доступна для систем Windows, macOS и Linux. Ключевые функции:
— Умное автодополнение, которое предлагает элементы кода исходя из текущего контекста;
— Встроенная интеграция с системами контроля версий;
— Интеграция с инструментами сборки, такими как Apache Maven, Gradle и Webpack.
IntelliJ IDEA поставляется в трёх ценовых вариантах. Community-версия доступна бесплатно, однако она не включает себя поддержку JavaScript и работу с инструментами базами данных, что может быть критично для веб-разработки. Стоимость индивидуальной лицензии IntelliJ IDEA Ultimate — 149 $ в год, для организаций же цена составит 499 $ на пользователя в год. Также можно попробовать версию Ultimate бесплатно в течение 90 дней.
3. PyCharm
Если вы занимаетесь разработкой на Python, то присмотритесь к PyCharm — ещё одной IDE от JetBrains. Как и IntelliJ, она поддерживается всеми тремя основными операционными системами. Professional-лицензия включает поддержку HTML, JavaScript и CSS. Кроме того, вы всегда можете расширить функционал с помощью плагинов.
С PyCharm вам будут доступны:
— Автодополнение кода и автоматический поиск ошибок;
— Интеллектуальная навигация по проекту;
— Встроенные отладчик, профилировщик Python и терминал;
— Интеграция с популярными системами контроля версий, а также с Jupyter Notebook, Anaconda и другими библиотеками.
Как и IntelliJ IDEA, PyCharm имеет Community-версию с открытым исходным кодом, но с ограниченными функциями — в ней отсутствуют многие инструменты для веб-разработки, нет профилировщика Python и поддержки баз данных.
Professional лицензия стоит 89 $ за год для частных лиц и 199 $ в год для организаций (за одного пользователя).
4. PhpStorm
Если вам больше по душе PHP, то обратите внимание на PhpStorm от JetBrains. Эта IDE имеет много общего с IntelliJ IDEA и PyCharm. Вы можете использовать её на Windows, macOS и Linux, и она поддерживает разработку на JavaScript, CSS и HTML.
Кроме того, PhpStorm рекомендуется JetBrains для работы с популярными CMS: например WordPress, Drupal, Joomla и другими.
Функциональность включает в себя:
— Автодополнение кода и рефакторинг;
— Эффективные функции навигации;
— Встроенная интеграция с системами контроля версий, инструменты командной строки, управление базами данных SQL;
— Визуальный отладчик и функция Live Edit, позволяющая сразу посмотреть, как будут выглядеть изменения в браузере.
Что касается цен, то PhpStorm, в отличие от других продуктов JetBrains, не предлагает бесплатную лицензию. Стоимость начинается от 89 $ в год для индивидуального использования и 199 $ для организаций. Также доступна 30-дневная пробная версия.
5. WebStorm
Для разработчиков на JavaScript JetBrains предлагает платформу WebStorm. Она поддерживает популярные фреймворки для фронтенда (Angular, React, Vue.js) и бэкенда (Node.js, Meteor). Среди преимуществ IDE можно выделить:
— Умное автодополнение кода;
— Инструменты для тестирования Karma, Mocha, Protractor и Jest;
— Интеграция с популярными системами контролями версий.
WebStorm не имеет бесплатной лицензии, цена для индивидуального использования — 59 $ в год, для компаний — 129 $ в год на пользователя.
6. Komodo IDE
Komodo IDE от ActiveState позиционирует себя как «одна IDE для всех языков». И это действительно так: платформа поддерживает JavaScript, HTML, CSS, Python, PHP и множество других языков программирования.
Ключевые особенности Komodo IDE:
— Интеллектуальная подсветка синтаксиса и автодополнение кода;
— Визуальный отладчик и инструменты для тестирования;
— Предварительный просмотр страниц: не нужно переключаться между IDE и браузером;
— Интеграция с Devdocs.io для удобного поиска документации;
— Поддержка популярных систем контроля версий;
— Профилирование кода на Python и PHP.
Community-лицензия Komodo для одного пользователя полностью бесплатна. Расширенная индивидуальная лицензия стоит 84 $ в год, а цены на тарифы для команд разработчиков и бизнеса стартуют от 228 $ в год за одного пользователя.
7. Sublime Text
Строго говоря, Sublime Text больше похож на редактор кода, но он содержит функции, аналогичные полноценным IDE. Sublime Text доступен для всех трёх основных операционных систем и поддерживает HTML, CSS, JavaScript, PHP, Python и другие языки. Кроме того, он включает в себя несколько функций, позволяющих ускорить и упростить редактирование кода, например:
— Навигация Goto Anything для быстрого перехода к файлам, строкам или словам;
— Быстрое внесение изменений сразу в нескольких местах;
— Интеграция с Git через Sublime Merge;
— Быстрое переключение между несколькими проектами с фиксацией изменений.
Если вы хотите расширить возможности Sublime Text, подключите к нему плагины для автозаполнения, отладки и других расширенных функций.
Sublime Text можно скачать бесплатно, однако для дальнейшего использования необходимо приобрести лицензию. Индивидуальный план стоит 80 $ в год, а цена на бизнес-лицензию зависит от числа людей в команде (минимально — 50 $ в год за пользователя для команды от 50 человек).
8. Brackets
Brackets — редактор с открытым исходным кодом, который отлично подойдёт для разработчиков веб-интерфейсов. Доступен для Windows, Linux и macOS. Из коробки поддерживает HTML, CSS и JavaScript, а PHP и Python можно подключить через LSP.
Brackets позволяет редактировать файлы в режиме реального времени: вы можете следить за внешним видом вашего проекта по мере внесения изменений без необходимости перезагрузки страницы.
Также в Brackets есть множество расширений для интеграции с Git, автодополнения кода и других полезных фич.
Хотя Brackets тоже больше относится к редакторам кода, чем к полноценным IDE, он полностью бесплатен и даёт простор для экспериментов: вы можете сами создавать расширения для него или даже переписать исходный код программы под себя.
9. Atom
Atom — редактор кода с открытым исходным кодом от GitHub. Как можно догадаться, он имеет встроенную интеграцию с Git и GitHub. Atom совместим с Windows, macOS и Linux, а также позволяет:
— Совместно редактировать код в режиме реального времени с помощью Teletype;
— Быстро писать код с умным автодополнением;
— Разделять интерфейс редактирования, чтобы одновременно работать с несколькими файлами или проектами;
— Устанавливать расширения с помощью встроенного менеджера пакетов.
Также вы можете попробовать Atom IDE — расширенную версию Atom, более похожую на полноценную IDE.
10. NetBeans
NetBeans — платформа с открытым исходным кодом от Apache, включающая множество функций, необходимых для веб-разработки. Совместима с системами Windows, Linux и macOS. NetBeans больше ориентируется на Java, но по умолчанию также доступны JavaScript, HTML и CSS. PHP и Python можно добавить с помощью плагинов.
Функциональность NetBeans включает:
— Умное редактирование и автодополнение кода;
— Настраиваемые сочетания клавиш для более быстрой работы;
— Интеграция с Git, Maven и другими платформами.
NetBeans полностью бесплатна и открыта для вклада разработчиков, желающих усовершенствовать платформу.
Бонус: какими IDE пользуются разработчики REG.RU
Разумеется, в этой подборке мы привели лишь малую часть существующих сред разработки и редакторов кода. Например, можно было бы упомянуть о Notepad++, Eclipse или активно развивающихся облачных IDE вроде Codeanywhere или Cloud9.
Тем не менее, мы в том числе перечислили инструменты, которыми пользуются разработчики в REG.RU. Например, те, кто так или иначе взаимодействует с Python, отдают предпочтение PyCharm. Разработчики интерфейсов больше склоняются к редакторам, чем к IDE, и выбирают Visual Studio Code и Sublime Text. Также встречаются и те, кто работает в WebStorm, Komodo, Atom. Многие, кстати, считают идеальным редактором Vim: конечно, в нём нет того обилия функций, которые предлагают IDE, однако его вполне можно превратить в удобную для работы среду с помощью многочисленных плагинов и расширений.
Пишите в комментариях, какую IDE или редактор используете вы. Что вам в них нравится, а чего не хватает? Пробовали ли вы другие решения?
Делитесь, какие полезные подборки вы хотели бы видеть в блоге в будущем — мы обязательно учтём ваши пожелания.
Python IDE — какой редактор кода выбрать?
Написание кода на 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
Не путайте с 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 для Python является PyCharm. Доступный как в платных (Professional), так и в бесплатных версиях с открытым исходным кодом (Community), PyCharm быстро и легко устанавливается на платформах Windows, Mac OS X и Linux.
Исходя из этого, PyCharm поддерживает разработку Python напрямую. Просто откройте новый файл и пишите код. Запускайте и отлаживайте код Python непосредственно внутри PyCharm. Плюс он поддерживает управление версиями и проектами.

Плюсы: Это де-факто среда IDE Python, с тонной поддержки в целом и поддержки сообщества. Редактирует, запускает и отлаживает Python из коробки.
Минусы: PyCharm может медленно грузиться, а настройки по умолчанию нуждаются в настройке для существующих проектов.
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 к существующему набору инструментов.











