Top-7 IDE для Python-разработки: обзор возможностей и удобства

Top 7 IDE для Python программирования
Doc

Doc

АйТишник со стажем... Профиль автора.

Какая среда разработки (IDE) на Python подойдет Вам больше всего? Давайте рассмотрим такие среды, как IDLE, Komodo, LiClipse, PyCharm, расширение Python для Visual Studio Code, Python Tools для Visual Studio и Spyder. Они сочетают в себе богатство возможностей и простоту использования.


Оглавление статьи[Показать]


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

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

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

Для тех, у кого нет такого опыта, PyCharm - одна из лучших сред IDE для начала. Она дружелюбна к новичкам, и при этом обладает значительным набором функций. Фактически, она обладает одними из самых полезных функций среди всех представленных здесь IDE. Многие из этих функций доступны только в платной версии продукта, но в бесплатной версии есть много чего, чтобы помочь начинающему разработчику начать работу.

LiClipse и Python Tools для Visual Studio (PTVS) - хороший выбор для разработчиков, уже хорошо знакомых с Eclipse и Microsoft Visual Studio соответственно. Обе являются полноценными средами разработки - настолько же полноценными, насколько вы только сможете пожелать, и которые довольно хорошо интегрируют Python. Однако они также представляют собой разветвленные и сложные приложения, которые сопряжены с большими когнитивными нагрузками (т.е. изучить их быстро с ходу не так и просто). Если вы освоили любую из них уже для другого языка программирования, вы найдете его отличным выбором для работы и с Python.

Редактор Microsoft Visual Studio Code, оснащенный расширением Microsoft Python, является гораздо более легким вариантом, чем Visual Studio. VS Code стал чрезвычайно популярным благодаря широкому спектру расширений, которые позволяют разработчикам проектов, использующих, например, не только Python, но и HTML и JavaScript, собирать набор расширений, дополняющих их рабочий процесс для этого проекта.

Инкарнация Python от ActiveState Komodo IDE идеально подходит для тех, кто уже использовал Komodo IDE для какого-либо другого языка, и он имеет уникальные функции (например, средство оценки регулярных выражений), которые должны сделать его более привлекательным. Комодо заслуживает пристального внимания как новичков, так и экспертов.

Spyder лучше всего подходит для работы с записными книжками Jupyter или другими научными вычислительными инструментами в таких дистрибутивах, как Anaconda, а не в качестве платформы разработки для Python в целом. Наконец, IDLE лучше всего использовать для быстрых и грязных сценариев, и даже в этом отношении он может уступить место автономному редактору кода с подключаемым модулем синтаксиса Python. Тем не менее, IDLE всегда рядом, когда вам это нужно (поставляется вместе с Python).

 

IDLE

IDLE, интегрированная среда разработки и обучения, входящая в состав почти каждой установки Python, может считаться IDE Python по умолчанию. Однако IDLE ни в коем случае не заменяет полноценную IDE. Это больше похоже на модный редактор файлов. Тем не менее, IDLE остается одним из вариантов по умолчанию для разработчиков Python, чтобы освоить этот язык, и он постепенно улучшался с каждым выпуском Python, особенно с Python 3.5. (см. эту страницу для интересного обсуждения недавних попыток улучшить IDLE).

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

У DLE есть несколько неплохих удобств. Он поддерживает встроенный цикл чтения-оценки-печати (REPL) или интерактивную консоль для Python. Фактически, эта интерактивная оболочка - это первый элемент, представляемый пользователю при запуске IDLE, а не пустой редактор. IDLE также включает в себя несколько инструментов, имеющихся в других IDE, таких как предоставление предложений (подсказок) по ключевым словам или переменным при нажатии Ctrl-Space, и встроенный отладчик. Но реализации большинства этих функций примитивны по сравнению с другими IDE и скованы ограниченным набором компонентов пользовательского интерфейса Tkinter. И набор сторонних надстроек, доступных для IDLE (один из таких проектов - IdleX), далеко не так богат, как в других IDE.

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

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

IDLE IDE для Pyhon

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

 

Komodo IDE

Komodo IDE, теперь в версии 12, работает как автономная многоязычная IDE и как точка интеграции с языковой платформой ActiveState. Python - один из многих языков, поддерживаемых в Komodo, и один из многих языков, для которых ActiveState предоставляет настраиваемые сборки среды выполнения.

При установке Komodo информирует вас о том, какие языки программирования, менеджеры пакетов и другие инструменты разработки он обнаруживает в системе. Это отличный способ настроить все прямо из коробки. Вы можете видеть и быть уверенным при инсталляции, что Komodo использует правильную версию Python и правильную установку Git.

Когда вы создаете новый проект для определенного языка, Komodo предлагает множество вариантов для предварительной настройки этого проекта. Для проектов Python вы можете выбрать одну из нескольких распространенных веб-фреймворков. Образец проекта содержит примеры и мини-руководства для многих поддерживаемых языков, включая Python. Навигация по файлам приятная и удобная, поскольку есть раскрывающийся виджет поиска для всех методов и функций в файле. Привязки клавиш настраиваются и могут быть добавлены с помощью загружаемых пакетов, которые имитируют другие редакторы (например, Sublime Text).

  IDLE   Komodo  LiClipse  PyCharm  Visual Studio
Code
 Visual Studio  Spyder
Поддержка Cython Нет Нет Нет Да (3) Да (2) Нет Нет
Управление версиями Нет Да Да Да Да Да Да (5)
Графический отладчик Нет Да Да Да Да Да Нет
Поддержка Jupyter Нет Нет Нет Да Да Да (4) Да
Макросы Нет Да Да (1) Да (1) Да (1) Да Нет
Несколько интерпретаторов Нет Да Да Да Да Да Да
Рефакторинг Нет Да Да Да Да Да Нет
Интеграция с базами данных Нет Да Да (1) Да (3) Да (1) Да Нет
HTML/CSS/JavaScript Нет Да Да Да Да (1) Да (3) Нет

 1) Доступен как расширение. 2) Доступно как расширение, но поддерживает только проверку синтаксиса. 3) Доступен в коммерческой версии. 4) См. Инструкции по интеграции. 5) Использует системы контроля версий, установленные на хосте.

Одна вещь, которая мне очень нравится в Komodo, - это включение дополнительных инструментов, полезных для разных языков, таких как построитель регулярных выражений. Еще одна мощная функция - это панель «Перейти к чему угодно» в верхнем центре, где вы можете вводить текст, чтобы найти что угодно в вашем текущем проекте или интерфейсе Komodo - фишка, которая теперь характерна для многих IDE (например, Visual Studio Code), и приветствуется большинством кодеров по всему миру.

Для линтинга (linting) Komodo может интегрироваться с PyChecker, Pylint, pep8 или Pyflakes, хотя поддержка каждого из них жестко закреплена отдельно, а не доступна через общий механизм интеграции инструментов линтинга.

Некоторые из наиболее заметных новых функций Komodo 12 связаны с интеграцией с платформой ActiveState. Команды могут настраивать и создавать собственные среды выполнения для языков со всеми необходимыми пакетами. Это сделано для того, чтобы членам команды не приходилось самостоятельно настраивать среду выполнения и зависимости для проекта; они могут просто получить одну и ту же настраиваемую среду выполнения со всем предварительно загруженным. 

 Ну а теперь поговорим о минусах. Одна из самых больших - ограниченная поддержка работы с виртуальными средами Python. Нужно вручную создать venv, а затем связать среду выполнения Python для проекта с этим venv. Для переключения venvs для данного проекта необходимо покопаться в настройках этого проекта.

Встроенная Git-интеграция Komodo 12 далеко не такая мощная, как у других IDE. И хотя вы можете расширить функциональность Komodo с помощью надстроек, для Komodo не так много надстроек, как для Visual Studio Code. Более того, многие из этих надстроек еще не работают в Komodo 12.

Komodo IDE для Python

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


LiClipse / PyDev

Редактор Eclipse на базе Java от Eclipse Foundation поддерживает множество языков с помощью надстроек. Поддержка Python осуществляется в виде надстройки PyDev, которую можно использовать двумя способами. Вы можете добавить его вручную к существующей установке Eclipse или загрузить предварительно упакованную версию Eclipse с PyDev под названием LiClipse. В этом обзоре я рассмотрел последний, поскольку он обеспечивает самый простой и наименее утомительный способ начать работу.

Помимо поддержки Python, LiClipse также включает интеграцию с Git через надстройку Eclipse EGit, поддержку веб-фреймворка Python Django и даже поддержку Jython, варианта Python, который работает на JVM. Последнее кажется уместным, учитывая собственные корни Eclipse в Java, хотя в последнее время разработка Jython приостановлена.

LiClipse хорошо использует стандартные функции пользовательского интерфейса Eclipse. Все ключи можно переназначить, и LiClipse поставляется со стандартным набором привязок клавиш для эмуляции Emacs. Системное представление «перспективы» (perspectives) позволяет переключаться между несколькими видами панелей в зависимости от решаемой задачи - разработки, отладки или работы с репозиторием Git проекта.

Некоторые из лучших функций предоставляются в виде подключаемых модулей, включенных в пакет LiClipse. История рефакторинга позволяет отслеживать изменения в кодовой базе всякий раз, когда имеет место формальный рефакторинг - то, что теоретически может быть выполнено с помощью Git, но специальный инструмент, подобный этому, пригодится. Еще одна действительно приятная функция - это возможность автоматически запускать точку останова (breakpoint) при возникновении одного или нескольких исключений, включая исключения, которые вы определили.

LiClipse легко справляется с виртуальными средами. Хотя LiClipse не определяет наличие venv в проекте автоматически, вы всегда можете настроить и добавить venv вручную, а LiClipse интегрируется с Pipenv для их создания и управления (при условии, что Pipenv присутствует в вашей базовой установке Python). Существует хороший обозреватель графического интерфейса, чтобы увидеть, какие пакеты установлены в каких Python venv, и вы также можете запустить pip из этого графического интерфейса.

С другой стороны, излишне сложно выполнять такие вещи, как установка новых пакетов из файла requirements.txt, и неудобно создавать сеанс оболочки с активированной в нем средой - обычная задача, которая заслуживает отдельного инструментария.

LiClipse поставляется со своими собственными встроенными инструментами анализа кода, но также может быть настроен для использования Mypy и Pylint. Однако, как и в случае с Komodo, эти варианты жестко встроены в приложение. Нет простого способа интегрировать другие линтеры, которых нет в этом списке. Аналогичным образом, единственная среда тестирования с прямой интеграцией в LiClipse - это модульное тестирование, позволяющее создать специальную конфигурацию запуска для своего проекта.

 LiClipse IDE для Python

 Резюме. LiClipse включает надстройку PyDev в облегченный дистрибутив Eclipse, но PyDev также можно добавить в существующую установку Eclipse.


PyCharm

JetBrains создает серию IDE для разных языков, основанных на одном и том же исходном коде ядра. PyCharm - это их Python IDE, и он построен с учетом поддержки характерных рабочих шаблонов и практик разработчиков Python.

Это внимание к рабочему процессу очевидно с того момента, как вы впервые создаете проект PyCharm. Вам предоставляется возможность настроить виртуальную среду с помощью интерпретатора по вашему выбору с образцом файла main.py в нем. Удобный графический интерфейс позволяет устанавливать модули в виртуальную среду с помощью pip, а среда IDE даже автоматически определяет файлы requirements.txt и предлагает автоматическую установку любых недостающих зависимостей. Изрядное количество усилий по проектам Python съедается спорами о виртуальных средах, поэтому эти функции очень приветствуются.

Вы обнаружите такое же внимание к повседневным деталям во всей среде IDE. Например, если вы запускаете файл в своем проекте с помощью Alt-Shift-F10, PyCharm предлагает запомнить эту конфигурацию запуска для будущего использования. Это удобно для проектов, у которых может быть несколько точек входа. Когда вы открываете экземпляр командной строки внутри PyCharm с загруженным проектом, PyCharm автоматически активирует виртуальную среду этого проекта. Для пользователей маломощных ноутбуков «режим энергосбережения» PyCharm отключает фоновый анализ кода, чтобы батарея не разряжалась.

Для рефакторинга проекта (еще одного распространенного источника головной боли) также есть специальный инструмент PyCharm, и это выходит за рамки простого переименования функций или методов: вы можете изменить практически каждый аспект рассматриваемого кода. Например, изменить сигнатуру функции - и увидеть предварительный просмотр того, что будет затронуто в процессе. PyCharm предоставляет собственные инструменты проверки кода, но сторонний плагин позволяет использовать Pylint.

Проекты Python выигрывают от надежных наборов тестов, но разработчики часто откладывают их создание из-за задействованного шаблона. Функция автоматического создания тестов PyCharm позволяет создавать скелетные наборы тестов для существующего кода, а затем при необходимости заполнять их тестами. Если у вас уже есть тесты, вы можете настроить профиль запуска для их выполнения с поддержкой всех популярных платформ тестирования (pytest, unittest, нос и т. д.). Есть и другие автоматизированные ярлыки. Для класса вы можете автоматически искать, какие методы реализовать или переопределить при создании подкласса, снова сокращая шаблон.

PyCharm можно значительно расширить и настроить с помощью тысяч доступных для него плагинов, которые можно установить непосредственно через пользовательский интерфейс PyCharm. Это включает поддержку общих данных или текстовых форматов, используемых с Python (CSV, Markdown), сторонних инструментов (Docker) и поддержку других языков (R, Rust).

Бесплатная версия PyCharm (community edition) охватывает большинство потребностей среднестатистического программиста, но профессиональная версия добавляет некоторые ключевые функции, полезные в корпоративных настройках, такие как готовая поддержка Cython, инструменты анализа покрытия кода (code coverage analysis) и профилирование.

PyCharm IDE для Python

Резюме. Богатый набор функций PyCharm, даже в его бесплатной версии, делает его отличным выбором для большинства сценариев разработки Python.

 

Расширение Python для Visual Studio Code

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

После установки расширение Python от Microsoft также устанавливает поддержку записных книжек Jupyter, которые можно открывать и использовать непосредственно в редакторе. Расширение Python также предоставляет Pylance, языковой сервер, который обеспечивает линтинг и проверку типов с помощью инструмента Pyright. Вместе эти компоненты обеспечивают решение, охватывающее подавляющее большинство сценариев разработки.

Одним из основных недостатков расширения Python для Visual Studio Code является отсутствие общего процесса настройки, такого как мастер, для создания нового проекта Python и настройки всех его элементов. Каждый шаг нужно выполнять вручную: создание виртуальной среды, настройка путей и так далее. Также отсутствует полноценная интеграция с инструментами управления проектами Python, такими как Pipenv. Их вполне возможно настроить вручную из командной строки для данного проекта, их просто невозможно использовать в расширении Python для VS Code. И хотя существует поддержка некоторых отдельных фреймворков, например, поддержка отладки для шаблонов Django, их все же необходимо настраивать вручную.

С другой стороны, VS Code автоматически обнаруживает виртуальные среды в каталоге проекта и старается использовать их всякий раз, когда вы открываете окно терминала в редакторе. Это избавляет от необходимости вручную активировать среду. VS Code также может обнаруживать виртуальные среды, созданные с помощью Poetry, инструмента управления проектами Python, хотя на момент написания этой статьи эта функция была доступна только в качестве тестовой версии.

Еще одна мощная функция VS Code - палитра команд - позволяет найти практически любую команду или параметр, просто набрав одно или два слова. Поставьте перед поисковым запросом «Py» или «Python», и вы получите еще более точные результаты. Расширение Python изначально поддерживает широкий спектр линтеров и инструментов форматирования кода.

Одна вещь, которую VS Code хорошо поддерживает с расширением Python - это обнаружение и выполнение модульного тестирования. Поддерживаются как собственный unittest Python, так и сторонний pytest. Запустите команду «Python: Discover tests» из палитры, и она выполнит обнаружение тестов и установит кнопку запуска тестов в строке состояния внизу. У отдельных тестов даже есть встроенные аннотации, которые позволяют повторно запускать или отлаживать их. Это модель того, как я хотел бы, чтобы многие другие вещи можно было делать с расширением Python.

Данное расширение в VS Code концентрируется на наиболее широко используемых частях программирования на Python и оставляет менее востребованные аспекты разработки сторонним плагинам. Например, нет поддержки Cython надмножества Python, которое позволяет вам компилировать Python в C. Стороннее расширение обеспечивает подсветку синтаксиса Cython, но не обеспечивает фактическую интеграцию рабочего процесса Cython.

Что лучше всего в расширении Python для Visual Studio Code, так это то, что оно извлекает выгоду из гибкости и широкой культуры расширений, доступных для VS Code в целом. Например, привязки клавиш можно свободно переназначать, и доступно любое количество тем, чтобы сделать шрифты или цветовые палитры VS Code более удобными.

расширении Python для Visual Studio Code

Резюме. Открытая архитектура Visual Studio Code позволяет поддерживать любое количество языков, при этом Python является одним из основных игроков.


Python Tools для Visual Studio 2019

Если вы уже используете Visual Studio в той или иной форме и добавляете Python к этому миксу, использование надстройки Python Tools для Visual Studio имеет смысл. Подключаемый модуль Microsoft с открытым исходным кодом обеспечивает предварительно подготовленный доступ к ряду распространенных фреймворков Python и делает функции отладки и развертывания Python доступными через интерфейс Visual Studio так же, как и любой другой основной язык.

Когда появилась Visual Studio 2015, я был впечатлен его отношением к языкам с открытым исходным кодом как к первоклассным инструментам разработки, не уступающим языкам Microsoft. Эти языки включали и Python, и учитывая обнадеживающий уровень поддержки, которую Visual Studio теперь предоставляет для Python, к нему стоит серьезно относиться как к среде разработки для этого языка, независимо от того, какой проект вы создаете.

Есть два способа настроить Python в Visual Studio. Вы можете добавить Python Tools в существующую установку Visual Studio или загрузить заглушку, которая устанавливает Visual Studio с нуля и автоматически добавляет Python Tools. Обе дороги ведут в один и тот же Рим: установка Visual Studio с шаблонами для многих распространенных типов приложений Python.

По умолчанию Python для Visual Studio может создавать проекты, использующие некоторые из наиболее широко используемых веб-фреймворков Python: Flask, Flask with Jade (язык шаблонов), Django и микрофреймворк Bottle. Также доступны шаблоны для общих веб-служб, простое приложение командной строки, основное приложение Windows IoT, использующее Python, и возможность создания проектов Visual Studio из существующего кода Python. Мне было приятно увидеть шаблоны для IronPython, обновленного порта Python, работающего на платформе .NET.

Среда выполнения Python также может быть установлена автоматически (Python 3.7.8 и Python 2.7.18, 32-разрядная или 64-разрядная версия). Вы даже можете установить Miniconda, тонкую версию Anaconda, для проектов, которым требуется этот дистрибутив Python. Также доступны шаблоны для проектов Scikit-learn, использующие систему шаблонов проектов cookiecutter. Между тем, было бы совсем неплохо увидеть больше возможностей для других систем машинного обучения, таких как PyTorch.

Когда вы создаете новый проект с использованием одной из этих платформ, Visual Studio проверяет, есть ли у вас уже доступные зависимости. Если нет, то у вас будет несколько вариантов. Вы можете создать виртуальную среду Python и разместить там необходимые пакеты. Пакеты, установленные в интерпретаторе Python, могут быть доступны для всей системы. Или вы можете добавить зависимости в проект вручную.

Одним из приятных моментов является то, что Visual Studio регистрирует все шаги, предпринимаемые при настройке проекта, поэтому вы знаете, какие изменения были внесены и где все находится. Visual Studio также точно определяет наличие файлов requirements.txt и может создать виртуальную среду для вашего проекта с предустановленными требованиями. Если вы переносите существующий проект, который включает виртуальные среды, они также будут автоматически обнаружены и включены.

Обозреватель решений Visual Studio содержит не только файлы, связанные с каждым из ваших проектов Python, но и сопутствующую среду Python, а также любые установленные в ней пакеты Python. Щелкните среду правой кнопкой мыши, и вы сможете устанавливать пакеты в интерактивном режиме, автоматически создавать файл требований или добавлять папки, Zip-архивы или файлы в путь поиска проекта. Visual Studio автоматически создает индексы IntelliSense для установленных сред, поэтому оперативные предложения редактора основаны на том, что установлено во всей среде Python, которую вы используете, а не только в текущем файле или проекте.

Умных методов работы с метафорами Visual Studio предостаточно. Когда вы запускаете веб-приложение для тестирования, с помощью значка запуска с зеленой стрелкой на панели инструментов средство запуска приложений Visual Studio открывает веб-браузер по умолчанию (или выбранный вами браузер) и указывает его на адрес и порт приложения. В меню «Сборка» (Build) есть параметр «Опубликовать» (Publish), с помощью которого можно развернуть приложение в различных облачных службах, включая службу приложений Microsoft Azure.

Python Tools для Visual Studio предоставляют встроенные средства для запуска анализаторов кода Pylint и Mypy. Как и другие функции Visual Studio, зависящие от внешних пакетов, Visual Studio попытается установить любой из этих пакетов, если вы еще не настроили их. Вы также можете настроить линтеры вручную в своей виртуальной среде (на самом деле я предпочитаю этот вариант, потому что он наиболее гибкий).

Я был разочарован отсутствием поддержки Cython, - проекта, который позволяет компилировать модули Python в расширения C, библиотеки DLL и автономные исполняемые файлы. Cython использует Visual Studio в качестве одного из своих компиляторов, но в инструментах Python для Visual Studio нет поддержки файлов формата Cython и прямой поддержки компиляции модулей Cython в Visual Studio.

Python Tools для Visual Studio

Резюме. Microsoft предлагает первоклассную поддержку Python как языка разработки в Visual Studio, включая поддержку веб-фреймворков.

 

Spyder

Большинство IDE Python являются универсальными, то есть подходят для любого типа разработки на Python или для разработки на других языках наряду с Python. Spyder фокусируется на предоставлении IDE для научной работы, а не, скажем, на веб-разработке или приложениях командной строки. Этот фокус делает Spyder менее гибким, чем другие IDE, представленные в нашем обзоре, тем более, что он не имеет диапазона непосредственной сторонней расширяемости (например, в Visual Studio Code можно использовать сторонние плагины), но он по-прежнему достаточно мощный для своей конкретной ниши и имеет массу приверженцев.

Сам Spyder написан на Python. Это может быть его самая большая причуда или его лучшая особенность, в зависимости от того, как вы это воспринемаете. Хотя он делает Spyder пригодным для взлома для разработчиков Python, он также затрудняет использование Spyder как отдельного приложения. В основном он предназначен для использования в дистрибутиве Anaconda Python (или портированном дистрибутиве WinPython), где Anaconda предоставляет многие функции управления проектами, которых не хватает Spyder.

Можно установить Spyder автономно с помощью установщика, но главный недостаток - это отсутствие конфигурации для каждого проекта. В основном это означает, что нет простого способа настроить Spyder для работы с любым заданным виртуальным окружением проекта при запуске проекта; вы можете настроить Spyder только для работы с одним конкретным venv. По крайней мере, в строке состояния приложения есть быстрая ссылка для изменения этого параметра.

Другой подход - создать venv и установить в него Spyder, а затем запустить Spyder из venv. Однако для этого требуется установить десятки пакетов общим объемом более 400 МБ, поэтому это может оказаться непрактичным для нескольких проектов, в которых это требуется. Еще один недостаток: независимо от метода настройки, Spyder запускается намного дольше, чем другие IDE, описанные здесь.

Тем не менее, Spyder выделяется тем, что делает инструменты Python для научных вычислений немедленно доступными в едином интерфейсе. Левая часть пользовательского интерфейса занята обычным отображением дерева файлов проекта / набора вкладок редактора. Но на правой стороне есть две панели с вкладками, посвященные визуализации и интерактивным инструментам. Блокноты IPython и Jupyter запускаются на отдельной панели вместе со сгенерированными графическими участками (которые вы также можете отображать встроенными (inline) или только на вкладке "Графики").

Мне особенно понравился проводник переменных (variable explorer), который показывает и позволяет интерактивно редактировать все созданные пользователем переменные в сеансе IPython. Мне также понравилась встроенная панель профилировщика, которая позволяет вам видеть статистику того, какие части вашей программы требуют больше всего времени для запуска. К сожалению, я не смог заставить профилировщик надежно работать с проектами в их собственном venv, если я не установил Spyder в venv и не запустил его оттуда.

Все привязки клавиш в Spyder настраиваются, в том числе для панелей, отличных от редактора (например, для графического представления). Но и здесь привязки клавиш могут быть настроены только для всего редактора. Для модульного тестирования вам потребуется установить отдельный модуль spyder-unittest, который работает с собственным модульным тестом Python и фреймворками pytest и nose.

Spyder IDE для Python Резюме. Spyder ориентирован на математику и естественные науки - отсюда его присутствие в дистрибутиве Anaconda - но его можно использовать и для других видов разработки.

 

 Общие выводы

На рынке представлено много IDE для разработки на Python. Многие из них бесплатные и обладают достаточным функционалом, позволяющим покрывать до 90% задач среднестатистического программиста. При выборе среды разработки для Питона следует учитывать специфику конкретной задачи, требования по интеграции, личные навыки и опыт работы с той или иной IDE, а также и личные субъективные впечатления. Ну а наметки по выбору конкретной среды мы вам дали в этой статье. Успешных проектов, господа разрабы! 

Вас заинтересует / Intresting for you:

Грамотное использование assert...
Грамотное использование assert... 25899 просмотров Андрей Волков Tue, 23 Oct 2018, 04:56:31
Выбор среды для разработки код...
Выбор среды для разработки код... 2531 просмотров Stas Belkov Sun, 10 Jun 2018, 14:21:35
Как выполнить / скомпилировать...
Как выполнить / скомпилировать... 6122 просмотров Stas Belkov Thu, 21 Jun 2018, 18:32:00
Выбор среды разработки для пла...
Выбор среды разработки для пла... 15198 просмотров Илья Дергунов Mon, 05 Nov 2018, 08:38:55
Войдите чтобы комментировать

apv аватар
apv ответил в теме #9990 2 года 10 мес. назад
Мега обзор! Благодарствуем, Doc!))) Я юзаю Komodo с удовольствием. Присматриваюсь к Visual Studio Code.