Что лучше pycharm или visual studio

Обновлено: 03.07.2024

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

Эта статья поможет прояснить какой вариант среди доступных подходит больше. Вы также увидите плюсы и минусы каждого из них, что поможет принять обоснованное решение.

Чтобы упростить задачу, разделим наш список на две категории инструментов: созданные исключительно для разработки на Python и созданные для общей разработки, но которые можно использовать для работы с Python. Определим для каждого ЗА и ПРОТИВ. Но сначала…

Что такое IDE и редакторы кода

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

Стандартно инструменты содержат :

  • Редактор, предназначенный для обработки кода (например, с подсветкой синтаксиса и автозавершением).
  • Средства сборки, выполнения и отладки.
  • Систему контроля версий.

Большинство IDE поддерживают множество языков программирования и содержат другие дополнительные функции. Поэтому они требуют много времени для загрузки и установки.

Требования к среде разработки на Python

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

  • Сохранять и перезагружать файлы
    IDE или редактор позволят сохранить работу и открыть ее позже, в том же состоянии, в котором она была до закрытия.
  • Запустить код в среде программирования
    С помощью IDE запустить код Python, будет не сложнее, чем из простого текстового редактора.
  • Поддержка отладки
    Возможность проверить код во время перед запуском — особенностью всех IDE и прочих редакторов кода.
  • Подсветка синтаксиса
    Определение ключевых слов, переменных и символов в коде делает чтение и понимание кода намного проще.
  • Автоматическое форматирование кода
    Любой редактор или IDE будет распознавать двоеточие в конце for или while .

Есть много других функций: управление исходным кодом, модель расширения, инструменты сборки и тестирования, помощь с синтаксисом языка и другие. Но приведенный выше список — основные функции, которые поддерживает хорошая среда редактирования.

Учитывая эти особенности, давайте рассмотрим некоторые инструменты общего назначения, которые используют для разработки в Python.

Среда разработки / IDE с поддержкой Python

Eclipse + PyDev

Если вы интересовались открытым программным обеспечением, скорее всего, слышали об 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

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

Установка дополнительных пакетов Python покажется сложной: пакеты Sublime Text написаны на Python, и для установки редактора часто требуется выполнить скрипты Python непосредственно в Sublime Text.

редактор кода Sublime Text

Плюсы: Sublime Text популярный в сообществе разработчиков. Как редактор кода, Sublime Text быстрый, легкий и хорошо поддерживается.

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

Доступный на всех платформах Atom считается «хакерским текстовым редактором 21-го века». Проработанный интерфейс, работа с файловой системой и магазин расширений. Свободный в доступе Atom создан с использованием Electron, фреймворка для создания компьютерных приложений, использующих JavaScript , HTML и CSS . Поддержка языка Python обеспечивается расширением, которое можно установить при запуске Atom.

Atom — редактор кода

Плюсы: Поддерживается на всех платформах, благодаря Electron . Atom невелик по объему и быстро загружается.

Минусы: Поддержка работы с кодом и отладки не встроена, но есть дополнения к редактору. Поскольку Atom построен на Electron , он работает в как процесс JavaScript , а не как приложение.

GNU Emacs

Перед началом войны iPhone и Android, задолго до войны Linux против Windows, и даже до войны ПК против Mac, шла Война редакторов и GNU Emacs участвовал в ней. Будучи представленным как «масштабируемый, настраиваемый, самодокументирующийся редактор отображения в реальном времени», с GNU Emacs работают почти так же давно, как и с UNIX. Всегда бесплатная и доступная на каждой платформе (в той или иной форме), GNU Emacs использует форму мощного языка программирования Lisp для настроек.

GNU Emacs editor

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

Минусы: Настройка означает написание (или копирование) кода Lisp в файлы скриптов. Вам, возможно, придется изучить Lisp, чтобы понять, как это делать.

Vi / Vim

С другой стороны войны текстовых редакторов стоит VI (или VIM). По умолчанию он включен практически в каждую UNIX-систему и Mac OS X. У VI столько же последователей.

VI и VIM — модальные редакторы, отделяющие просмотр файла от редактирования файла. VIM усовершенствованная копия исходного VI, включая модель масштабирования и создание кода на месте. VIMScripts подходят для различных задач разработки на Python.

VIM text editor

Плюсы: Вы знаете все о VI, активно пользуетесь VI, нравится работать с VI. VIMScripts не пугает вас и вы знаете как заставь его делать, что нужно.

Минусы: Как и с Emacs, может быть не удобно находить или писать собственные скрипты, чтобы работать с Python, и поддерживать работу редактора.

Visual Studio

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.

Visual Studio Code editor

Плюсы: Благодаря 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. Плюс он поддерживает управление версиями и проектами.

PyCharm IDE для Python

Плюсы: Это де-факто среда 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.

Spyder Python IDE Screenshot

Плюсы: Для тех, кто занимается анализом данных, используя дистрибутив Anaconda Python.

Минусы: Опытные разработчики Python считают Spyder слишком простым для повседневной работы и выбирают масштабируемое решение для IDE или настраиваемого редактора.

Thonny

Недавнее дополнение к семейству IDE Python. Thonny считается IDE для новичков. Написанный и поддерживаемый Institute of Computer Science в University of Tartu в Эстонии, Thonny доступен для всех основных платформ с инструкциями по установке на сайте.
По умолчанию Thonny устанавливается уже с Python, поэтому не нужно устанавливать ничего дополнительно.

Thonny IDE для начинающих

Плюсы: Прост для начинающих пользователь Python которые хотят, чтобы IDE была готова к работе.


IDLE — редактор, поставляемый вместе с Python. Это базовый, упрощенный режим программирования на Python. Тем не менее, IDLE хороший редактор для начала программирования и понимания основ языка. В нем есть оболочка Python — интерактивный интерпретатор. Его возможности обширны: автозавершение кода, подсветка синтаксиса, подбор отступа и базовый встроенный отладчик.

  • Не подходит сложным проектам.
  • Не хватает продвинутых функций.

2. 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 широко используется во многих успешных компаниях.

  • Лучшая платформа для начала работы с наукой о данных.
  • Легко делиться файлами и визуализациями.
  • Разметка и другие дополнительные функции.

5. PyСharm


PyCharm — это интегрированная среда разработки специально для Python. Разработана чешской [прим. перев. — автор ориентируется на расположение головного офиса] компанией JetBrains. Редактор разработан специально для Python, так что имеет широкий набор возможностей, таких как автозавершение и инспекции кода, подсветка ошибок, исправления, отладка, система контроля версий и рефакторинг. IDE доступна на Microsoft Windows, Linux и MacOS. Есть бесплатная и платная профессиональная версии. Профессиональная IDE имеет несколько дополнительных функций, но бесплатной версии достаточно для большинства задач. Я настоятельно рекомендую PyCharm, если у вас есть как минимум 8 Гб оперативной памяти.

  • Имеет важные встроенные функции.
  • Разработана профессионалами специально для 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 и некоторых других сайтах есть редакторы с удивительными возможностями.

  • Никаких дополнительных установок и настроек.
  • Простой код запускается без особых хлопот.

Расскажите, в каком редакторе для Python вы пишете код и почему?


Получить востребованную профессию с нуля или Level Up по навыкам и зарплате можно, пройдя онлайн-курсы SkillFactory:

Да, писать код на Python можно и в простом текстовом редакторе, однако использование специального редактора кода или IDE с дополнительным инструментарием может существенно улучшить продуктивность работы. Но редакторов и IDE много. Как выбрать? Как понять, какие функции важны? А какие из них важнее всего в вашем случае? Стоит ли платить за редактор или IDE?

Сегодня мы разберем все эти вопросы, рассматривая десятку самых лучших редакторов кода и IDE для Python (по состоянию на 2021 год).

Окно редактора кода

Какие редакторы и IDE можно считать подходящими для разработки на Python?

Специализированные IDE могут содержать и более продвинутые инструменты, например, интеграции систем искусственного интеллекта.

Необходимый функционал в редакторах кода и IDE для работы с Python

10 самых лучших IDE и редакторов кода для Python

При выборе IDE или редактора приходится идти на компромиссы или в степени кастомизации, или в скорости этой самой кастомизации. В нашем списке инструменты построены от наименее до наиболее настраиваемых.

Шкала кастомизации

IDE и редакторы кода общего назначения

Atom (редактор кода)

Окно редактора Atom

В Atom есть встроенная поддержка любимых функций разработчиков: автоматического дополнения кода и поиска/вставки. Сам редактор разработан GitHub, так что не удивительно, что в нем есть встроенный функционал для интеграции с GitHub и Git.

Atom допускает применение пользовательских плагинов. Вместе с тем вы можете с легкостью подобрать и установить нужные плагины при помощи платформы с бесплатными пакетами. Эти плагины помогут вам расширить функционал редактора в соответствии с вашими нуждами.

Достоинства

  • Можно использовать из коробки
  • Легковесность и кастомизация при помощи плагинов
  • Легкая интеграция плагинов

Недостатки

  • Долго загружается при включении
  • Есть проблемы с производительностью
  • Запускается как JavaScript-процесс
  • Некоторые необходимые функции (отладка, сборка кода и т. п.) добавляются при помощи плагинов.

Use Case

Atom вам подойдет, если вы работаете с несколькими языками и хотите иметь бесплатный и хорошо настраиваемый редактор кода, но не хотите тратить слишком много времени на тонкую настройку.

Codespaces (редактор кода)

Редактор совершенно бесплатный, но в будущем будет иметь платные опции.

Браузерный подход Codespaces позволяет работать где угодно, на любом устройстве с подключением к интернету. Это делает его прекрасным инструментом для командных проектов, потому что вам не придется передавать копии файлов или иметь какой-то общий инструмент.

Достоинства

  • Хорош для командных проектов
  • Можно использовать где угодно, на любом девайсе
  • Не нужно устанавливать или настраивать
  • Готовая интеграция с GitHub

Недостатки

  • Новый и неотшлифованный
  • Ограничение в 5 рабочих пространств
  • Ограниченная кастомизация

Use Case

Codespaces подойдет разработчику, который часто участвует в коллективных проектах или выступает контрибьютором в проектах с открытым кодом и не слишком озабочен кастомизацией.

Visual Studio (IDE)

Окно IDE Visual Studio

Эта IDE имеет богатый функционал, встроенную поддержку Git, встроенный терминал, полный набор инструментов для юнит-тестирования. Как и в Atom, есть маркетплейс с расширениями.

Достоинства

  • Богатый функционал из коробки
  • Подходит для многих языков и платформ
  • Легкое добавление плагинов
  • Автодополнение Intellisense

Недостатки

Use Case

Visual Studio подойдет разработчику, который регулярно меняет языки, хочет изучить один инструмент для всех своих программистских нужд и не слишком заинтересован в визуальных настройках.

Sublime Text 3 (редактор кода)

Окно редактора кода Sublime Text 3

Эти плагины позволят вам поменять буквально что угодно в редакторе, от внешнего вида до поиска ошибок, дополнения кода, поддержки языка и т. д. С каждый днем появляется все больше плагинов, а это значит, что Sublime, вероятно, один из самых обновляемых инструментов на сегодняшний день.

Достоинства

  • Высокая настраиваемость при помощи плагинов
  • Несравненная скорость
  • Отлично подходит для одновременной работы над несколькими проектами.

Недостатки

  • Цена в $80
  • В ванильной версии не хватает функционала
  • Сложно добавлять плагины

Use Case

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

Vim (редактор кода)

Научившись пользоваться Vim, вы получите очень эффективный инструмент, но переход к работе исключительно с клавиатурой будет нелегким (если только вы не опытный пользователь Vi). Настроить что-то при помощи VIMscript тоже непросто, потому что для этого фактически нужно создать отдельный программистский проект еще до начала работы с редактором!

Достоинства

  • Использование в работе исключительно клавиатуры очень повышает скорость программирования (как только все оптимизируете)
  • Можно запрограммировать собственные сочетания клавиш
  • Полная кастомизация при помощи VIMscripts
  • Доступен в Mac и Linux по умолчанию

Недостатки

Use Case

IDE, заточенные под Python

IDLE (IDE)

Окно IDE IDLE

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

Достоинства

  • Поставляется с Python
  • Проста в освоении и использовании
  • Имеет все самые необходимые инструменты

Недостатки

  • Плохая производительность в крупных проектах
  • Не настраивается визуально
  • Нельзя добавлять функционал

Use Case

Если вы новичок в разработке на Python, хотите попрактиковаться на простеньких проектах и при этом не возиться с настройками, IDLE вам подойдет.

Thonny (IDE)

Окно IDE Thonny

В этой IDE также есть уникальные функции для начинающих, например, трекер для значений переменных, находящийся рядом с основным редактором. Все опции устанавливаются через меню, а не путем правки конфигурационных файлов: это позволяет начинающим программистам сосредоточиться на написании кода. Даже установка плагинов оптимизирована для начинающих при помощи простого менеджера пакетов.

Недостаток Thonny в отсутствии продвинутых функций, которые есть в других IDE, например в PyCharm. Также нет специализированных инструментов для специфических приложений, доступных в Spyder. Из-за этого вам в конечном итоге придется перейти на другую IDE, как только ваши программы станут более сложными.

Достоинства

  • Простой, не отвлекающий пользовательский интерфейс
  • Настройка через меню, а не через файлы
  • Основные функции оптимизированы для начинающих

Недостатки

  • Нет специализированных инструментов
  • Производительность не такая хорошая, как в более продвинутых IDE

Use Case

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

Spyder (IDE)

Окно Spyder

Spyder имеет автодополнение, мощный отладчик, оболочку iPython и ограниченные инструменты для визуализации данных.

В Spyder меньше функций, чем, скажем, в PyDev. Эта IDE фокусируется скорее на предоставлении простого, легкого в использовании инструментария для не-разработчиков.

Достоинства

  • Простая установка и интеграция с основными библиотеками
  • Инструменты для работы с data science
  • Мощные инструменты отладки для помощи не-разработчикам

Недостатки

  • Функционал, не связанный с data science, ограничен
  • Мало опций для кастомизации

Use Case

Если вы занимаетесь исключительно наукой о данных или машинным обучением и хотите IDE, подогнанную под ваши нужды, Spyder будет прекрасным выбором.

PyDev (IDE)

Окно IDE PyDev

Это одна из немногих IDE, имеющих поддержку Jython и Cython. Также есть интеграция с Django с его инструментами для веб-разработки.

Хотя PyDev проигрывает другим IDE в плане функциональности и кастомизации, с ней будет очень легко начать работать тем, кто уже знаком с Eclipse. Правда, если вы не знакомы с Eclipse, кривая изучения будет довольно крутой.

Достоинства

  • Эту IDE легко освоят пользователи Eclipse
  • Оптимизация для веб-разработки на Django
  • Поддержка для Jython и Cython

Недостатки

  • Ограниченный функционал, поскольку это все-таки простой плагин
  • Освоить Eclipse непросто

Use Case

PyDev подойдет разработчику, который пользуется Python как вторичным языком для веб-разработки или участия в open-source и имеет опыт работы с Eclipse.

PyCharm (IDE)

Эта IDE уже из коробки имеет все самые лучшие инструменты: контроль версий, автодополнение, подсветку ошибок, рефакторинг кода и т. д. В отличие от других сред разработки, в PyCharm можно начинать писать код сразу же после загрузки.

Часто отмечается особая полезность предлагаемого PyCharm кода (по сравнению с другими IDE).

Бесплатная версия PyCharm более легковесна и оптимизирована для data science. А платная ($100-200 в год) включает инструменты для веб-разработки и Python-приложения.

Кроме того, для работы PyCharm требуется много VRAM. Использовать ее на старых машинах не получится.

Достоинства

  • Уже установлен весь основной продвинутый функционал
  • Не требуется настройка
  • Инструментарий для Python-разработки любого рода

Недостатки

  • «Кусачая» цена версии с полным функционалом
  • Производительность очень зависит от возможностей вашей машины
  • Ограниченная кастомизация

Use Case

PyCharm в полной версии будет прекрасным выбором для разработчика, который согласен заплатить за немедленный доступ к самым лучшим инструментам, чтобы не возиться с настройкой или установкой плагинов.

Также стоит упомянуть

    . Можно использовать для разработки на Python, но это довольно старый инструмент, из-за чего там нет более современных функций. . Простой инструмент, оптимизированный для data science и графических представлений, но уж слишком специализированный, чтобы войти в наш список.

У вас есть свой любимый редактор для программирования на Python, не вошедший в наш список? Предлагайте в комментариях!

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

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

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

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

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

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

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

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

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

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

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

1. Sublime Text

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

1-20219-2f44fd.jpg

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

2. Atom

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

2-20219-47d79b.jpg

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

3. GNU Emacs

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

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

3-20219-3f4bda.jpg

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

4. Vi/Vim

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

4-20219-fdefe1.jpg

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

5. Visual Studio Code

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

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

5-20219-0ab19d.jpg

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

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

1. Eclipse + PyDev

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

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

6-20219-c6d1f3.jpg

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

2. Visual Studio

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

7-20219-22816d.jpg

Плюсы — лёгкая установка 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 чаще рассматривают в качестве средства решения определённой задачи, а не в качестве основной среды разработки.

9-20219-9857a0.jpg

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

3. Thonny

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

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

10-20219-271297.jpg

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

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

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

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

Читайте также: