Львиную долю своего рабочего времени программисты проводят в редакторах кода. В такой ситуации комфортность и удобство рабочей среды трудно переоценить. Конечно, писать код можно и в простейшем текстовом редакторе и сохранять в .html, но с продвинутым редактором это не сравнится. Особенно если редактор ориентирован на конкретный язык. Так как питон был и остается основным языком, используемым в Data Science, и именно ему мы уделяем особое внимание на наших курсах, делимся с вами переводом статьи, автор которой пишет о знакомых ему редакторах и о том, что он считает привлекательным в них.
Примечание автора: каждый упомянутый в этой статье редактор хорош по-своему. Список — это только краткое руководство, основанное на моем личном опыте. Одни редакторы могут нравиться вам больше других. В конце концов, выбор редактора или среды разработки за вами. Нет неправильного или правильного выбора.
1. Python IDLE
IDLE — редактор, поставляемый вместе с Python. Это базовый, упрощенный режим программирования на Python. Тем не менее, IDLE хороший редактор для начала программирования и понимания основ языка. В нем есть оболочка Python — интерактивный интерпретатор. Его возможности обширны: автозавершение кода, подсветка синтаксиса, подбор отступа и базовый встроенный отладчик.
Плюсы:
- Легкий.
- Подходит для начинающих.
Минусы:
- Не подходит сложным проектам.
- Не хватает продвинутых функций.
2. Sublime Text
Sublime Text — свободное программное обеспечение с широкой поддержкой сообщества. Редактор работает с несколькими языками программирования. В большинстве случаев можно использовать незарегистрированный Sublime Text, но время от времени вы будете получать всплывающее окно с просьбой зарегистрировать продукт и приобрести лицензию. Sublime Text тонко настраивается и дополняется пакетами для отладки, автозавершения кода, линтинга и т.д.
Плюсы:
- Простой и по большей части бесплатный.
- Тонко настраивается.
- Компактный и эффективный.
Минусы:
- Для удобства требует дополнительных пакетов.
3. Visual Studio Code
Visual Studio Code — бесплатный редактор кода от Microsoft для Windows, Linux и MacOS. Его возможности — отладка, подсветка синтаксиса, интеллектуальное завершение кода, предопределённые фрагменты кода, рефакторинг и интеграция с Git. Поддерживаются различные языки программирования. Для начала работы с Python может понадобиться несколько дополнительных пакетов, но установить их довольно просто. Редактор постоянно обновляется. Visual Studio Code — один из лучших редакторов не только для Python, но и для других языков программирования. Я часто пользуюсь VSC и очень рекомендую его.
Плюсы:
- Это фантастическая платформа с непрерывными обновлениями.
- Потребляет немного памяти по сравнению с другими громоздкими инструментами разработки.
- Имеет встроенный терминал и прост в использовании.
Минусы:
- Иногда терминал работает не так, как хотелось бы.
4. Jupyter Notebook
Jupyter Notebook — это веб-приложение с открытым исходным кодом, позволяющее создавать документы с выполняемым интерактивно кодом, уравнениями, визуализациями, простым текстом. Конечно, такими документами просто поделиться. Jupyter Notebook используется для очистки и преобразования данных, численного и статистического моделирования, визуализации данных, машинного обучение и многого другого. Этот редактор — хороший вариант для начала работы с наукой о данных и машинным обучением. Файлами можно поделиться с кем угодно, они помогают эффективнее работать с кодом. Я настоятельно рекомендую Jupyter Notebook, поскольку можно работать с каждым блоком кода отдельно. Также есть возможность использовать разметку. Среда Jupyter Notebook широко используется во многих успешных компаниях.
Плюсы:
- Лучшая платформа для начала работы с наукой о данных.
- Легко делиться файлами и визуализациями.
- Разметка и другие дополнительные функции.
Минусы:
- Нет мощных функций из некоторых IDE.
5. PyСharm
PyCharm — это интегрированная среда разработки специально для Python. Разработана чешской [прим. перев. — автор ориентируется на расположение головного офиса] компанией JetBrains. Редактор разработан специально для Python, так что имеет широкий набор возможностей, таких как автозавершение и инспекции кода, подсветка ошибок, исправления, отладка, система контроля версий и рефакторинг. IDE доступна на Microsoft Windows, Linux и MacOS. Есть бесплатная и платная профессиональная версии. Профессиональная IDE имеет несколько дополнительных функций, но бесплатной версии достаточно для большинства задач. Я настоятельно рекомендую PyCharm, если у вас есть как минимум 8 Гб оперативной памяти.
Плюсы IDE:
- Имеет важные встроенные функции.
- Разработана профессионалами специально для Python.
- Поддерживает виртуальные среды Anaconda.
Минусы:
- Основная проблема PyCharm: если у вас недорогой ПК или ноутбук и в нем нет 8 Гб оперативной памяти, то IDE немного притормаживает и работает довольно медленно.
6. Thonny
IDE Thonny предустановлена на системы Linux и системы на ее основе. Мой опыт работы с этим редактором в основном связан с Raspberry Pi. Это отличная, простая среда разработки для начинающих. Thonny хорошо подходит Raspberry Pi. Некоторые возможности: подсветка синтаксических ошибок, отладчик, автозавершение кода, пошаговое вычисление выражений.
Плюсы:
- Интерактивная среда.
- Подходит для начинающих.
- Может использоваться для проектов Raspberry Pi.
Минусы:
- Редактор склонен к проблемам.
- Имеет не очень много возможностей.
7. Spyder
Spyder — это мощная научная интегрированная среда программирования, написанная на Python, для Python. Она разработана учеными, инженерами и аналитиками данных для них самих. Spyder обладает уникальным сочетанием возможностей. Продвинутое редактирование, анализ, отладка и профилирование сочетается с возможностями исследования данных, интерактивного выполнения, глубокой инспекции кода и красивой визуализацией. Установить Spyder просто: скачайте его как часть дистрибутива Anaconda. Разработчики рекомендуют последнюю 64-битную версию Python 3, если у вас нет особых требований.
Плюсы:
- Бесплатный редактор, поставляется с Anaconda.
- Хорошее рабочее окружение для просмотра интерпретаций и кодирования в два окна.
- Широкий выбор опций исключительно для Python.
Минусы:
- Немного старый интерфейс.
8. Atom
Эта IDE похожа на текстовый редактор Sublime. Она очень настраиваемая и поддерживает многие необходимые пакеты. У меня меньше опыта работы с этим редактором, поэтому я рекомендую скорее Sublime Text, чем Atom. Но перечислю некоторые часто используемые пакеты Atom для разработки на Python: autocomplete-python
, linter-flake8
, python-debugger
.
Плюсы:
- Работать с Atom легко.
- Поддерживает Python после дополнительных установок.
Минусы:
- Требуется дополнительный плагин для Python.
- Больше подходит для работы с git.
9. VIM
Vim — это текстовый редактор, предустановленный в системах MacOS и UNIX. Большинство экспертов любят vim за развитые вычислительные возможности и легкую, компактную среду разработки. Он не рекомендуется начинающим, так как изучать его трудно. Можно добавить плагины подсветки синтаксиса, автозавершения кода, отладки, рефакторинга и другие к Vim и использовать его как Python IDE. [Прим. перев. На скриншоте GVim — версия Vim с графическим интерфейсом].
Плюсы:
- Легкий.
- Эффективный.
- Производительный.
Минусы:
- Нужно посвятить время изучению редактора, у него крутая кривая обучения.
10. Notepad++
Notepad++ — это редактор текста и исходного кода, работающий на Microsoft Windows. Поддерживается редактирование с вкладками, что позволяет работать с несколькими открытыми файлами в одном окне. Название проекта происходит от оператора инкремента языка С. Notepad++ распространяется как свободное программное обеспечение. Редактор поддерживает множество языков программирования и может быть полезным. На мой взгляд, есть и лучшие варианты. Кроме того, нужно установить дополнительные пакеты, чтобы сделать редактор функциональным для программирования на Python.
Плюсы:
- Заменяет блокнот.
- Может использоваться для нескольких языков программирования, включая Python.
Минусы:
- Требуется дополнительная настройка и установки плагинов, чтобы работать с Python.
- Не в топе рекомендаций: есть много вариантов получше.
11. Онлайн редакторы
На Programiz, tutorials point, w3schools и некоторых других сайтах есть редакторы с удивительными возможностями.
Плюсы:
- Никаких дополнительных установок и настроек.
- Простой код запускается без особых хлопот.
Минусы:
- Не такие мощные, как IDE.
Это был длинный список. Я охватил почти все редакторы из моего опыта работы. Самое смешное: есть вероятность, что я многое упустил. Есть множество настраиваемых, удобных пользователям редакторов. Также сегодня существует множество облачных IDE именно в онлайне. GitHub работает над Codespaces — облачной версией VSCode. И Vim настраивается так гибко, что может иметь множество других плюсов и минусов.
Расскажите, в каком редакторе для Python вы пишете код и почему?
Узнайте больше здесь.
Получить востребованную профессию с нуля или Level Up по навыкам и зарплате можно, пройдя онлайн-курсы SkillFactory:
- Курс «Python для веб-разработки»
- Профессия Веб-разработчик
- Обучение профессии Data Science с нуля
- Онлайн-буткемп по Data Science
- Онлайн-буткемп по Data Analytics
- Профессия аналитика с любым стартовым уровнем
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
А какой из перечисленных редакторов вы считаете самым удобным для Python?
24.25%
Visual Studio Code
233
6.56%
Jupyter Notebook
63
4.27%
Свой вариант (напишу в комментариях)
41
Проголосовал 961 пользователь.
Воздержались 215 пользователей.
IDE, или интегрированная среда разработки, — это программное обеспечение, которое предоставляет разработчикам комплексный набор инструментов для написания, тестирования, отладки и развертывания программ. IDE являются центральной частью рабочего процесса большинства программистов, поскольку они предоставляют все необходимое для эффективной работы с кодом в одном месте.
Важность IDE для разработки на Python обусловлена несколькими факторами:
- Продуктивность: IDE включают различные инструменты, такие как автозаполнение кода, указатели на ошибки в реальном времени, встроенные отладчики и системы контроля версий, которые значительно повышают производительность программиста.
- Особенности Python: Python имеет некоторые уникальные особенности, которые делают его немного отличным от других языков программирования. Некоторые IDE имеют специальные функции, которые улучшают работу с Python, включая поддержку динамической типизации, автоматическое форматирование в соответствии с PEP8 и интеграцию с популярными Python-библиотеками.
- Совместная работа и поддержка: Интегрированная среда разработки помогает упростить процесс совместной работы над проектами, поскольку она обеспечивает стандартизированную среду для разработки. Многие IDE имеют встроенную поддержку систем контроля версий, таких как Git, что позволяет разработчикам легко отслеживать и объединять изменения в коде.
- Обучение: Для новичков IDE может служить отличным инструментом для изучения Python, поскольку они предоставляют сразу все необходимое для начала работы. Кроме того, IDE может давать полезные советы и показывать типичные ошибки, что облегчает обучение.
Далее в статье мы рассмотрим несколько популярных IDE для Python, их особенности, а также преимущества и недостатки каждой из них.
PyCharm
PyCharm — это одна из самых популярных интегрированных сред разработки (IDE), специально созданных для Python. Его разработала компания JetBrains, известная разработкой других мощных IDE, таких как IntelliJ IDEA для Java и WebStorm для JavaScript. PyCharm был впервые представлен в 2010 году и с тех пор он используется разработчиками по всему миру.
Вот некоторые особенности PyCharm, которые делают его таким полезным для разработки на Python:
- Интеллектуальное автозаполнение: PyCharm имеет высоко развитую систему автозаполнения кода, которая включает понимание контекста кода, динамическую типизацию и автоматическое обнаружение потенциальных ошибок.
- Встроенная поддержка PEP8: PyCharm автоматически проверяет ваш код на соответствие стандартам форматирования кода PEP8 и визуализирует потенциальные нарушения.
- Интеграция с пакетами Python: PyCharm имеет глубокую интеграцию с большинством популярных библиотек и фреймворков Python, таких как Django, Flask, SQLAlchemy и многими другими.
- Встроенная отладка и тестирование: PyCharm обладает мощными инструментами для отладки кода и автоматизированного тестирования, что значительно облегчает отслеживание и исправление ошибок.
- Интеграция с системами контроля версий: PyCharm поддерживает встроенную интеграцию с Git, SVN, Mercurial и другими системами контроля версий.
PyCharm доступен в двух версиях: бесплатная версия Community Edition, которая имеет основной набор функций, достаточный для большинства разработчиков, и платная версия Professional Edition, которая содержит дополнительные функции, такие как поддержка веб-разработки, работы с базами данных и другие.
Visual Studio Code
Visual Studio Code (часто сокращается до VS Code) — это бесплатная открытая среда разработки от Microsoft. Хотя она не является специализированной IDE исключительно для Python, VS Code может использоваться для разработки на Python благодаря своим расширениям и гибкости. VS Code была представлена впервые в 2015 году и быстро стала популярной среди разработчиков благодаря своим быстрым обновлениям, активному сообществу и обширной поддержке расширений.
Вот несколько особенностей VS Code, которые делают его удобным для разработки на Python:
- Расширение Python: Расширение Python для VS Code, разработанное Microsoft, предоставляет множество функций для разработки на Python, включая интеллектуальное автозаполнение, линтинг, форматирование кода, отладку и поддержку Jupyter Notebook.
- Встроенная отладка: VS Code имеет встроенные инструменты для отладки кода, позволяющие устанавливать точки останова, просматривать переменные и контролировать выполнение вашего программного кода.
- Встроенная поддержка Git: VS Code включает поддержку Git «из коробки», позволяющую вам удобно создавать коммиты, выполнять push и pull обновлений, просматривать разницу между версиями без использования командной строки.
- Поддержка расширений: Одной из сильных сторон VS Code является поддержка расширений, которая позволяет вам настраивать среду разработки под свои нужды. Существует большое количество расширений для поддержки разных языков, библиотек, фреймворков, инструментов форматирования кода и других функций.
- Настройки и гибкость: VS Code очень настраиваема. Вы можете настраивать все, от темы и шрифтов до поведения редактора кода и интеграции с другими инструментами.
Хотя Visual Studio Code не является исключительно инструментом для разработки на Python, его гибкость и поддержка расширений делают его очень удобным для разработки на Python. Это особенно верно для разработчиков, которые работают с несколькими языками или технологиями, требующими такой гибкости.
Jupyter Notebook
Jupyter Notebook — это открытое средство разработки, популярное среди исследователей данных, преподавателей, студентов и программистов, работающих с данными. Впервые представленный в 2014 году, Jupyter Notebook является важным инструментом для интерактивного программирования, анализа данных, визуализации, создания моделей машинного обучения и многого другого. Он особенно популярен среди пользователей Python, но поддерживает множество других языков программирования.
Вот несколько ключевых особенностей Jupyter Notebook:
- Интерактивность: Jupyter Notebook позволяет выполнять код в интерактивных «ноутбуках», которые сочетают в себе код, текст, математические формулы, визуализации и многое другое. Это позволяет вам работать с кодом и данными в более визуальном и экспериментальном режиме.
- Поддержка Markdown и LaTeX: Jupyter Notebook поддерживает Markdown для форматирования текста и LaTeX для математических формул, что делает его идеальным для создания понятных и хорошо выглядящих документов, включающих код.
- Интеграция с Python и другими языками: Хотя Jupyter был создан главным образом для Python (имя «Jupyter» происходит от трех языков: Julia, Python и R), он также поддерживает множество других языков программирования. Вы можете использовать Jupyter Notebook с языками, такими как Julia, R, Ruby, Haskell и многими другими.
- Распределенные вычисления: С помощью инструментов, таких как Apache Spark, Jupyter может выполнять распределенные вычисления для обработки больших наборов данных.
- Поддержка библиотек: Jupyter интегрируется с многими популярными библиотеками Python, такими как NumPy, Pandas, Matplotlib, Scikit-Learn и многими другими, что позволяет вам работать с данными, выполнять сложные вычисления и создавать визуализации прямо в вашем браузере.
- Совместная работа и удаленная работа: Jupyter Notebook может быть настроен для удаленной работы и совместной работы, что делает его удобным инструментом для команды.
Jupyter Notebook — это мощный инструмент для разработки на Python, особенно в области науки о данных и других сферах, где важна визуализация данных и интерактивность. Он также может быть полезен для обучения Python и другим языкам программирования благодаря своей поддержке интерактивного программирования и смешанного контента.
Spyder
Spyder — это открытое интегрированное средство разработки (IDE), специально разработанное для языка программирования Python. Spyder был создан для ученых, инженеров и аналитиков данных, работающих с научными библиотеками Python, такими как NumPy, SciPy, Matplotlib, Pandas, IPython, SymPy и Cython.
IDE Spyder предлагает множество полезных функций для разработки на Python:
- Многофункциональный редактор: Spyder имеет многофункциональный редактор кода с подсветкой синтаксиса, автозаполнением кода, навигацией по коду и другими функциями, которые облегчают написание кода на Python.
- Интегрированная вычислительная среда: Spyder интегрируется с IPython, что позволяет использовать интерактивные блокноты IPython и другие инструменты IPython непосредственно в IDE.
- Полнофункциональный отладчик: Spyder имеет встроенный отладчик для поиска и исправления ошибок в коде Python.
- Инструменты визуализации: Spyder интегрируется с Matplotlib и другими библиотеками визуализации Python, что позволяет создавать графики и другие визуализации прямо в IDE.
- Просмотрщик переменных: Эта функция позволяет просматривать, просматривать и редактировать значения переменных, используемых в вашем коде.
- Поддержка плагинов: Spyder можно расширять с помощью плагинов, что позволяет добавлять новые функции и инструменты в IDE.
Spyder — отличный выбор для программистов Python, особенно для тех, кто работает в научной или аналитической сфере, благодаря его интеграции с научными библиотеками Python и другими особенностями.
Atom
Atom — это открытое интегрированное средство разработки (IDE), созданное GitHub. Это одна из наиболее гибких и настраиваемых IDE, доступных для программистов. Хотя Atom не является специфическим для Python, у него есть множество пакетов и дополнений, которые обеспечивают широкую поддержку разработки на Python.
Особенности Atom для разработки на Python:
- Гибкая настройка: Atom позволяет пользователям настраивать среду разработки по своим потребностям. Вы можете устанавливать дополнительные пакеты, создавать и изменять темы, изменять поведение редактора с помощью конфигурационного файла и многое другое.
- Поддержка пакетов: Atom имеет множество пакетов, специально созданных для разработки на Python. Это включает пакеты для автозаполнения, проверки синтаксиса, форматирования кода, выполнения кода Python и многое другое.
- Встроенный Git и GitHub: Atom был создан GitHub, поэтому он имеет встроенную поддержку Git и GitHub. Вы можете создавать коммиты, проверять статус своего репозитория, клонировать репозитории и многое другое прямо из IDE.
- Teletype: Teletype для Atom позволяет программистам работать над кодом в режиме реального времени, словно они находятся в одном редакторе.
- Интегрированная файловая система: Atom имеет встроенную файловую систему, которая позволяет легко просматривать, открывать и редактировать файлы и каталоги.
- Подсветка синтаксиса: Atom поддерживает подсветку синтаксиса для Python и многих других языков программирования.
В целом, Atom — это мощная и гибкая среда разработки, которая может быть настроена для соответствия любым потребностям разработки на Python.
Vim
Vim — это высокоэффективное текстовое средство редактирования с возможностью расширения. Хотя он не является специализированной IDE для Python, его можно настроить и расширить, чтобы обеспечить полноценную поддержку Python.
Особенности Vim для разработки на Python:
- Эффективность: Vim известен своей эффективностью. Он работает в текстовом режиме, что обеспечивает скорость и производительность.
- Расширяемость: Vim можно настроить и расширить с помощью скриптов и плагинов. Существуют плагины для автозаполнения, проверки синтаксиса, интеграции с Git и многое другое.
- Портативность: Vim доступен на множестве платформ, включая Linux, Windows и macOS. Это делает его идеальным выбором для программистов, работающих на разных системах.
Emacs
Emacs — это мощное средство разработки, которое часто описывают как «больше, чем текстовый редактор». По умолчанию Emacs не предоставляет специализированную поддержку Python, но его можно настроить и расширить для работы с Python.
Особенности Emacs для разработки на Python:
- Расширяемость: Emacs можно настроить и расширить с помощью его языка расширения Emacs Lisp. Существует множество пакетов, которые добавляют поддержку Python, включая автозаполнение, проверку синтаксиса, выполнение кода Python в Emacs и многое другое.
- Мощные инструменты: Emacs имеет встроенную поддержку Git, систему окон и буферов, REPL (Read-Eval-Print Loop) для многих языков программирования, включая Python, и множество других инструментов.
- Org-mode: Один из самых мощных инструментов Emacs — это Org-mode, который позволяет вам организовывать свои заметки, задачи, документацию проектов, а также может выполнять код Python прямо в ваших org-файлах.
Хотя Vim и Emacs представляют собой довольно сложные для изучения IDE новичку, они предоставляют невероятную эффективность и гибкость для разработки на Python. Для тех, кто готов вложить время в освоение этих инструментов, они могут стать мощными IDE для Python.
Как выбрать подходящую среду разработки (IDE) для Python-разработчика
Выбор подходящей IDE в значительной степени зависит от ваших требований, рабочего стиля и проекта, над которым вы работаете. Вот несколько факторов, которые стоит учитывать.
Ваш опыт
Если вы новичок, возможно, вам будет удобнее использовать IDE, которая предоставляет множество подсказок, автозаполнение и инструменты отладки, такие как PyCharm или Thonny. Если же вы опытный разработчик, вам может понадобиться более гибкий и настраиваемый редактор, например Vim или Emacs.
Направление вашей работы
Если вы занимаетесь научными исследованиями или анализом данных, Jupyter Notebook или Spyder могут быть отличным выбором. Для веб-разработки PyCharm и Visual Studio Code предлагают мощную поддержку.
Бюджет
Некоторые IDE, например PyCharm Professional, являются платными, хотя они также предлагают бесплатные версии с ограниченными возможностями. Другие, такие как Visual Studio Code, Atom, Vim и Emacs, полностью бесплатны.
Совместимость с платформой
Убедитесь, что выбранная IDE поддерживает вашу операционную систему. Большинство IDE для Python доступны для основных платформ (Windows, macOS, Linux), но некоторые могут предлагать лучшую поддержку или функциональность для определенной системы.
Поддержка сообщества
Идеально, если выбранная IDE имеет активное сообщество, которое может помочь в решении любых возникающих проблем и поддерживает расширения или плагины, расширяющие ее функциональность.
Сравнительная таблица IDE для Python
Информация в таблице является приблизительной и учитывает общий опыт пользователей. Выбор IDE зависит от индивидуальных потребностей пользователя.
IDE | Поддержка языков | Сообщество и поддержка | Цена | Совместимость с платформами | Назначение |
---|---|---|---|---|---|
PyCharm | Python, JavaScript, и т. д. | Большое сообщество, много плагинов, активная поддержка | Версия Community – бесплатная, версия Professional – платная | Windows, macOS, Linux | Веб-разработка, разработка программного обеспечения |
Visual Studio Code | Поддерживает множество языков с помощью расширений | Большое сообщество, много плагинов, активная поддержка | Бесплатный | Windows, macOS, Linux | Универсальное использование |
Jupyter Notebook | Python, Julia, R, и т. д. | Большое сообщество, активная поддержка | Бесплатный | Windows, macOS, Linux | Научные исследования, анализ данных |
Spyder | Python | Активное сообщество, много плагинов | Бесплатный | Windows, macOS, Linux | Научное программирование |
Atom | Поддерживает множество языков с помощью расширений | Большое сообщество, много плагинов, активная поддержка | Бесплатный | Windows, macOS, Linux | Универсальное использование |
Vim | Поддерживает множество языков | Большое сообщество, активная поддержка | Бесплатный | Windows, macOS, Linux, UNIX | Универсальное использование, наиболее эффективен для высококвалифицированных разработчиков |
Emacs | Поддерживает множество языков | Большое сообщество, активная поддержка | Бесплатный | Windows, macOS, Linux, UNIX | Универсальное использование, наиболее эффективен для высококвалифицированных разработчиков |
Выводы
В зависимости от вашего опыта, потребностей и направления работы вы можете выбрать из широкого спектра сред разработки (IDE) для Python. Начиная с PyCharm, который является отличным выбором для веб-разработки, и заканчивая Jupyter Notebook для научного анализа данных. Spyder идеально подходит для научной работы, в то время как Atom предлагает гибкость для различных проектов. Для тех, кто предпочитает максимальную настраиваемость, Vim и Emacs предлагают расширенные возможности.
Каждая из этих сред имеет свои сильные и слабые стороны, но все они служат одной цели: поддерживать и облегчать разработку на Python. Выбор правильной среды разработки является личным и должен учитывать ваши собственные потребности и стиль работы.
Написание кода на Python с использованием IDLE или Python Shell подходит для простых операций, но эти инструменты приносят расстройство и отчаяние при работе с крупными проектами. Использование среды IDE или редактора кода приносит удовольствие от разработки, но какой из них лучше для вас?
Эта статья поможет прояснить какой вариант среди доступных подходит больше. Вы также увидите плюсы и минусы каждого из них, что поможет принять обоснованное решение.
Чтобы упростить задачу, разделим наш список на две категории инструментов: созданные исключительно для разработки на Python и созданные для общей разработки, но которые можно использовать для работы с Python. Определим для каждого ЗА и ПРОТИВ. Но сначала…
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 к существующему набору инструментов.
Учитывая многообразие IDE и редакторов кода, легко запутаться, поэтому мы собрали самые популярные инструменты для разработки на Python.
Писать на Python, используя IDLE или Python Shell, вполне удобно, если речь идёт о простых вещах, однако с ростом размеров проектов программирование превращается в мучение. С помощью IDE или даже хорошего редактора кода можно значительно упростить себе жизнь. Но вот вопрос — что выбрать?
В этой статье мы пройдёмся по основным инструментам, позволяющим писать на Python. Мы не выберем за вас лучший вариант, но рассмотрим «за» и «против» каждого и поможем сделать взвешенное решение.
- Что такое IDE и редактор кода?
- Требования к хорошей среде разработки
- Редакторы и IDE с поддержкой Python
- Редакторы и среды разработки, написанные на Python
- Так какую Python IDE выбрать?
Что такое IDE и редактор кода?
IDE (или интегрированная среда разработки) — это программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE объединяет несколько инструментов, специально предназначенных для разработки. Эти инструменты обычно включают редактор, предназначенный для работы с кодом (например, подсветка синтаксиса и автодополнение); инструменты сборки, выполнения и отладки; и определённую форму системы управления версиями.
Большинство IDE поддерживают множество языков программирования и имеют много функций, из-за чего могут быть большими, занимать много времени для загрузки и установки и требуют глубоких знаний для правильного использования.
С другой стороны, есть редакторы кода, которые представляют собой текстовый редактор с подсветкой синтаксиса и возможностями форматирования кода. Большинство хороших редакторов кода могут выполнять код и использовать отладчик, а лучшие даже могут взаимодействовать с системами управления версиями. По сравнению с IDE, хороший редактор кода, как правило, легковесней и быстрее, но зачастую ценой меньшей функциональности.
Требования к хорошей среде разработки
Итак, что нам нужно от среды разработки? Набор функций разных сред может отличаться, но есть набор базовых вещей, упрощающих программирование:
- Сохранение файлов. Если IDE или редактор не дают вам возможности сохранить работу и позже всё открыть в том же состоянии, в котором оно было во время закрытия, то не такая уж это и IDE.
- Запуск кода из среды. То же самое, если вам нужно выйти из среды для запуска кода, то это не более, чем простой текстовый редактор.
- Поддержка отладки. Возможность пошагово выполнить код является базовой функцией всех IDE и большинства хороших редакторов кода.
- Подсветка синтаксиса. Возможность быстро найти ключевые слова, переменные и прочее делает чтение и понимание кода на порядок проще.
- Автоматическое форматирование кода. Любой редактор или IDE, который действительно таковым является, распознает двоеточие после while или for выражения и автоматически сделает отступ на следующей строке.
Разумеется, есть множество других функций, от которых вы бы не отказались, но приведённые выше — основные функции, которыми должна обладать хорошая среда разработки.
А теперь давайте взглянем на некоторые инструменты общего назначения, которые можно использовать для разработки на Python.
Редакторы и IDE с поддержкой Python
Eclipse + PyDev
Тип: IDE
Сайт: www.eclipse.org
PyDev: www.pydev.org
Если вы близки с open-source сообществом, то вы наверняка слышали об Eclipse. Будучи доступным для Linux, Windows и OS X, Eclipse де-факто является open-source IDE для разработки на Java. Существует множество расширений и аддонов, которые делают Eclipse полезным для разного рода задач.
Одним из таких расширений является PyDev, предоставляющий интерактивную консоль Python и возможности для отладки и автодополнения кода. Установить его просто: запустите Eclipse, выберите Help → Eclipse Marketplace, затем найдите PyDev. Нажмите «Install» и при необходимости перезапустите Eclipse.
Преимущества: если у вас уже был установлен Eclipse, то установка PyDev пройдёт быстро и гладко. У опытного пользователя Eclipse не возникнет проблем с изучением этого расширения.
Недостатки: если вы только начинаете изучать Python или разработку в целом, Eclipse может стать непосильной ношей. Помните, мы говорили, что IDE большие и требуют больше опыта для полноценного использования? Всё это можно сказать об Eclipse.
Sublime Text
Тип: редактор кода
Сайт: http://www.sublimetext.com
Sublime Text, написанный инженером из Google с мечтой о лучшем текстовом редакторе, является весьма популярным редактором кода. Доступный на всех платформах, Sublime Text имеет встроенную поддержку редактирования Python-кода, а также богатый набор расширений, называемых пакетами, которые расширяют возможности синтаксиса и редактирования.
Установить дополнительный Python-пакет может быть непросто — все пакеты Sublime Text написаны на Python, поэтому для установки пакетов сообщества зачастую может потребоваться выполнить Python-скрипт непосредственно в редакторе.
Преимущества:у 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, даже до войны PC с Mac была война редакторов с GNU Emacs в качестве одного из участников военных действий. Описываемый как «расширяемый, настраиваемый, самодокументированный текстовый редактор», GNU Emacs существует почти столь же долго, сколько и UNIX, и успел завоевать немало поклонников.
Доступный бесплатно на каждой платформе (в той или иной форме) GNU Emacs использует язык Lisp для кастомизации. Само собой, для Python тоже найдутся скрипты кастомизации.
Преимущества: вы знакомы с Emacs, вы используете Emacs, вы любите Emacs. Lisp — ваш второй язык, и вы знаете, что с ним вы способны на всё.
Недостатки: кастомизация подразумевает написание (или копипасту) Lisp-кода в различные скрипты. Если таковых не имеется, то вам, возможно, придётся изучить Lisp, чтобы со всем разобраться.
Vi / Vim
Тип: редактор кода
Сайт: https://www.vim.org/
По другую сторону баррикад в войне редакторов находится VI/VIM. Доступный по умолчанию на почти каждой UNIX-системе и Mac OS X, VI завоевал не меньшее количество поклонников. VI и VIM — модальные редакторы, которые отделяют просмотр файла от его редактирования. VIM включает в себя всё, что есть в VI, плюс некоторые усовершенствования вроде доступности расширений. Для разного рода Python-задач можно воспользоваться VIMScripts.
Преимущества: вы знакомы с VI, вы используете VI, вы любите VI. VIMScripts вас не пугают, и вы знаете, как подчинить их своей воле.
Недостатки: как и в случае с Emacs, вам не очень удобно искать или писать скрипты для добавления возможности разработки под Python, и вы не имеете ни малейшего понятия, как вообще должен работать модальный редактор.
Visual Studio
Тип: IDE
Сайт: https://www.visualstudio.com/vs/
Python-расширение: Python Tools for Visual Studio, aka PTVS
Visual Studio — полнофункциональная IDE от Microsoft, которая во многом сопоставима с Eclipse. Доступная на Windows и Mac OS, Visual Studio представлена как в бесплатном (Community), так и в платном (Professional и Enterprise) вариантах. Visual Studio позволяет разрабатывать приложения для разных платформ и предоставляет свой собственный набор расширений.
Python Tools for Visual Studio (PTVS) позволяет писать на Python в Visual Studio и включает в себя Intellisense для Python, отладку и другие инструменты.
Преимущества: как и в случае с Eclipse, если у вас уже установлена Visual Studio для других задач, установка PTVS пройдёт без проблем.
Недостатки: как и в случае с Eclipse, Visual Studio будет многовато, если вам нужен только Python. Кроме того, если вы пользуетесь Linux, то вы в пролёте — Visual Studio для этой платформы нет.
Visual Studio Code
Тип: редактор кода
Сайт: https://code.visualstudio.com/
Python tools: https://marketplace.visualstudio.com/items?itemName=ms-python.python
Visual Studio Code (не путать с Visual Studio) — полнофункциональный редактор кода, доступный на Windows, Linux и Mac OS X. VS Code является расширяемым open-source редактором, который можно настроить под любую задачу. Как и Atom, VS Code построен на Electron, поэтому у него есть те же преимущества и недостатки.
Добавить поддержку Python в VS Code проще простого — выполните поиск по запросу «Python» в Marketplace, нажмите «Install» и перезапустите редактор, если потребуется. VS Code автоматически определит интерпретатор Python и установленные библиотеки.
Преимущества: благодаря Electron, VS Code доступен на всех платформах с удивительно большой функциональностью. Кроме того, исходники можно найти в открытом доступе.
Недостатки: раз замешан Electron, значит VS Code не нативное приложение. Кроме того, некоторым людям религия не позволяет пользоваться продуктами Microsoft.
Редакторы и среды разработки, написанные на Python
PyCharm
Тип: IDE
Сайт: https://www.jetbrains.com/pycharm/
Одной из лучших полнофункциональных IDE, предназначенных именно для Python, является PyCharm. Существует как бесплатный open-source (Community), так и платный (Professional) варианты IDE. PyCharm доступен на Windows, Mac OS X и Linux.
PyCharm «из коробки» поддерживает разработку на Python напрямую — откройте новый файл и начинайте писать код. Вы можете запускать и отлаживать код прямо из PyCharm. Кроме того, в IDE есть поддержка проектов и системы управления версиями.
Преимущества: это среда разработки для Python с поддержкой всего и вся и хорошим коммьюнити. В ней «из коробки» можно редактировать, запускать и отлаживать Python-код.
Недостатки: PyCharm может медленно загружаться, а настройки по умолчанию, возможно, придётся подкорректировать для существующих проектов.
Spyder
Тип: IDE
Сайт: https://github.com/spyder-ide/spyder
Spyder — open-source IDE для Python, оптимизированная для data science. Spyder идёт в комплекте с менеджером пакетов Anaconda, поэтому вполне возможно, что он у вас уже установлен.
Что в Spyder интересно, так это то, что его целевой аудиторией являются data scientist’ы, использующие Python. Например, Spyder хорошо взаимодействует с такими библиотеками для data science, как SciPy, NumPy и Matplotlib.
Spyder обладает той функциональностью, которую вы можете ожидать от стандартной IDE, вроде редактора кода с подсветкой синтаксиса, автодополнения кода и даже встроенного обозревателя документации.
Отличительной особенностью Spyder является наличие проводника переменных. Он позволяет просмотреть значения переменных в форме таблицы прямо внутри IDE. Также хорошо работает интеграция с IPython/Jupyter.
Про Spyder можно сказать, что он более «приземлённый», чем другие IDE. Его можно рассматривать как инструмент для определённой цели, а не как основную среду разработки. Что в нём хорошо, так это, что он бесплатный, open-source и доступный на Windows, macOS и Linux.
Преимущества: вы data scientist, который пользуется Anaconda.
Недостатки: более опытные разработчики на Python могут найти Spyder недостаточно функциональным для повседневной работы и сделают свой выбор в пользу более функциональной IDE или редактора.
Thonny
Тип: IDE
Сайт: http://thonny.org/
Thonny называют IDE для новичков. Написанный и поддерживаемый Институтом информатики Тартуского университета в Эстонии, Thonny доступен на всех основных платформах.
По умолчанию Tonny устанавливается с версией Python, идущей в комплекте, поэтому вам не понадобится устанавливать ещё что-нибудь. Продвинутым пользователям, возможно, придётся изменить эту настройку, чтобы IDE нашла и использовала уже установленные библиотеки.
Преимущества: вы начинающий Python-программист и вам нужна IDE, с которой можно сразу идти в бой.
Недостатки: продвинутым пользователям будет недостаточно функциональности, а встроенный интерпретатор они заменят. Кроме того, учитывая новизну IDE, могут возникнуть проблемы, решения которых на данный момент нет.
Так какую Python IDE выбрать?
Решать только вам, но вот пара рекомендаций:
- Начинающим питонистам следует взять что-то с наименьшими возможностями кастомизации. Чем меньше препятствий, тем лучше;
- Если вы уже пользуетесь каким-нибудь редактором для других задач, то посмотрите в сторону редакторов кода;
- Ну а если у вас уже стоит IDE для другого языка, то попробуйте добавить в неё поддержку Python.
Смотрите также подборку материалов по Python для начинающих. Интересуетесь ещё и вебом? Тогда загляните в нашу аналогичную подборку IDE для веб-разработки.
Писать на 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)».