Поделиться статьей, оригинальная ссылка:Python IDE и редакторы кода (руководство).
Написание Python с помощью IDLE или Python Shell отлично подходит для простых программ, но эти инструменты часто превращают большие проекты программирования в ямы безнадежности и разочарования. Использование IDE или даже хорошего специализированного редактора кода может сделать программирование увлекательным, но что выбрать?
Наблюдатели, не бойтесь, мы будем здесь, чтобы объяснить и демистифицировать для вас бесчисленные варианты. Хотя мы не можем решить, что лучше для вас и вашего проекта, мы объясним плюсы и минусы каждого из них, чтобы помочь вам принять наиболее обоснованное решение.
Для простоты мы разделили наш список инструментов на две части: одна для проприетарных инструментов, специально предназначенных для разработки на Python, и другая для общих инструментов, которые мы можем использовать для разработки на Python. Мы перечислим «почему это так» и «почему это не так» (за и против) для каждого инструмента. И последнее, но не менее важное: они не исключают друг друга, так что вы можете попробовать их самостоятельно без особого вреда.
Но сначала...
Что такое интегрированные среды разработки и редакторы кода?
Интегрированная среда разработки (IDE) — это программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE объединяет несколько инструментов, разработанных специально для разработки программного обеспечения. Эти инструменты обычно включают в себя редактор, специально предназначенный для работы с кодом (например, подсветку синтаксиса и автозаполнение), инструменты сборки, выполнения, отладки и некоторую форму управления исходным кодом.
Большинство IDE совместимы с несколькими языками программирования и содержат больше функций, поэтому обычно они крупнее, требуют времени для загрузки и установки и требуют более глубоких знаний для правильного использования.
Напротив, специально созданный редактор кода может быть таким же простым, как текстовый редактор с подсветкой синтаксиса и форматированием кода. Большинство хороших редакторов кода могут выполнять код и управлять отладчиками, а также лучше всего взаимодействовать с системами контроля версий. По сравнению с IDE, отличные специализированные редакторы кода, как правило, меньше и быстрее, но в то же время имеют меньше функций.
Требования к хорошей среде программирования Python
Так что же нам действительно нужно в среде программирования? Каждое приложение имеет разные возможности, но вот основные функции, облегчающие программирование:
- Сохраняйте и перезагружайте файлы кода
Если IDE или редактор не позволяют вам сохранить вашу текущую работу и открыть ее позже в том же состоянии, в котором вы ее оставили, то это не IDE.
- Запуск кода в среде
Точно так же, если вам нужно выйти из редактора, чтобы запустить код Python, это обычный текстовый редактор.
- Поддержка отладки
Поддержка пошагового выполнения кода во время работы программы является основной функцией всех IDE и большинства хороших редакторов кода.
- подсветка синтаксиса
Поддержка быстрой идентификации ключевых слов, переменных и символов в коде упрощает чтение и понимание кода.
- формат кода с автодополнением
Поразительный любой редактор или интегрированная среда разработки, чтобы идентифицировать двоеточие в «пока» или «для» в конце оператора, и знать, что следующая строка должна быть с отступом.
Конечно, многие из вас могут быть обеспокоены другими функциями, такими как управление исходным кодом, расширенная модель, инструменты сборки и тестирования, языковая помощь и так далее. Но перечисленное выше 4:00, я думаю, что хорошая среда редактирования должна иметь основные функции.
Имея в виду эти функции, давайте сначала сосредоточимся на некоторых общих инструментах, которые можно использовать для разработки Python.
Редактор общего назначения и IDE с поддержкой Python.
Eclipse + PyDev
категория:Интегрированная среда разработки
URL-адрес:www.eclipse.org
Инструменты Python:PyDev, www.pydev.org
Если вы достаточно заинтересованы в сообществе открытого исходного кода, то вы, должно быть, слышали об Eclipse. Eclipse для разработчиков Java на самом деле является совместимой интегрированной средой разработки для Linux, Windows и OS X. Он имеет богатый рынок подключаемых модулей и расширений, что делает Eclipse применимым для самых разных проектов разработки.
Одним из таких плагинов является PyDev, который поддерживает отладку Python, автодополнение кода и интерактивную консоль Python. Установить PyDev в Eclipse очень просто, просто выберите «Справка» в Eclipse, нажмите «Eclipse Marketplace» и найдите PyDev. Нажмите «Установить» и при необходимости перезапустите Eclipse.
преимущество:Если вы уже установили Eclipse, установка PyDev очень удобна и быстра.Для опытных разработчиков Eclipse PyDev не требует дополнительного обучения.
недостаток:Если вы новичок в Python или новичок в разработке программного обеспечения, вам предстоит пройти долгий путь освоения Eclipse. Помните, я говорил, что IDE, как правило, больше и требуют больше знаний для правильного использования, так что Eclipse — это именно то, что вам нужно знать по одной.
Sublime Text
категория:Редактор кода
URL-адрес:www.sublimetext.com
Sublime Text — очень популярный редактор кода, разработанный инженером Google, который мечтает сделать его лучшим текстовым редактором. Sublime Text поддерживает редактирование кода Python и совместим со всеми платформами, а богатый набор плагинов (называемых «пакетами») расширяет синтаксис и возможности редактирования.
Установка дополнительных расширений Python может быть сложной задачей, все пакеты в Sublime Text написаны на Python, а установка расширений сообщества часто требует выполнения скриптов Python непосредственно в Sublime Text.
преимущество:Sublime Text пользуется уважением в сообществе программистов. Только с точки зрения редактора кода Sublime Text быстрый, компактный и имеет хорошую совместимость.
недостаток:Sublime Text не является бесплатным программным обеспечением, хотя вы можете использовать бета-версию неограниченное время. Установка расширений в Sublime Text может быть сложной, и нет поддержки выполнения или отладки кода непосредственно внутри редактора.
Чтобы в полной мере воспользоваться настройками Sublime Text, вы можете прочитать наше руководство по настройке Python + Sublime Text или посмотреть наше более подробное видео, это поможет вам создать эффективную среду разработки Sublime Text 3 в Python.
Atom
категория:редактор кода
URL-адрес:atom.io/
Atom, который также совместим со всеми платформами, был назван «взламываемым текстовым редактором 21 века». Atom с открытым исходным кодом имеет элегантный интерфейс, браузер файловой системы и рынок расширений, и он построен с использованием Electron, который использует JavaScript, HTML и CSS для создания кроссплатформенных настольных приложений. Язык Python поддерживается расширением, которое можно установить во время выполнения Atom.
преимущество:Благодаря Electron, Atom широкая совместимость со всеми основными платформами. Atom также компактен и очень быстро загружается и загружается.
недостаток:Встроенной поддержки сборки и отладки нет, эти функции поддерживаются сообществом. Кроме того, поскольку Atom построен на платформе Electron, он всегда работает в процессе JavaScript, а не как собственное приложение.
GNU Emacs
категория:редактор кода
URL-адрес:woohoo.bowbow.org/software/demons…
Давайте вернемся к тому, что было до войны iPhone против Android, до войны Linux против Windows или даже до войны ПК против Mac, когда была «война редакторов». И GNU Emacs — один из них. GNU Emacs, ставший культовым, известный как «расширяемый, настраиваемый редактор с автоматическим протоколированием и отображением в реальном времени», почти все время был рядом с UNIX.
Бесплатный на всю жизнь и совместимый с любой платформой (в той или иной форме), GNU Emacs настраивается с использованием мощного языка программирования Lisp и предлагает множество пользовательских скриптов для разработки на Python.
преимущество:Зная Emacs, используя Emacs, вы влюбитесь в Emacs, Лисп как второй язык, вы знаете, какие возможности он дает вам делать все, что вы хотите.
недостаток:Настройка означает написание (или копирование-вставку) Лиспа в различные файлы сценариев, и если никто другой не предоставляет его, то вам придется изучить Лисп и понять, как он работает. Кроме того, Emacs — очень хорошая операционная система, если только использовать ее как хороший текстовый редактор...
Обязательно обратитесь к нашему руководству по установке Python + Emacs, чтобы настроить его.
VI/VIM
категория:редактор кода
URL-адрес:www.vim.org/
На другой стороне поля битвы текстовых редакторов находится VI (также известный как VIM), который устанавливается по умолчанию почти во всех системах UNIX и Mac OS X и пользуется таким же культом. VI и VIM — это редакторы моделей, которые отделяют просмотр текста от редактирования текста. VIM предоставляет множество улучшений по сравнению с исходным ВП, включая расширяемые модели и построение кода на месте. VIMScripts можно использовать для различных задач разработки Python.
преимущество:Знай VI, используй VI, ты влюбишься в VI. VIMScripts вас не пугают, и вы можете делать, что хотите.
недостаток:Как и в случае с Emacs, вам может быть неудобно искать или писать собственные сценарии для поддержки среды разработки Python, и вы можете не знать, как работает редактор моделей. Кроме того, VI является хорошим текстовым редактором тогда и только тогда, когда у него хорошая операционная система.
Если вы собираетесь использовать эту комбинацию, см. наше руководство по установке Python + VIM, и мы дадим вам советы и предложения по плагинам.
Visual Studio
тип:Интегрированная платформа разработки
URL-адрес:www.visualstudio.com/vs/
Инструменты Python:Инструменты Python для Visual Studio, также известные как PTVS
По сравнению с Eclipse во многих аспектах Visual Studio, созданная Microsoft, представляет собой полнофункциональную интегрированную платформу разработки. VS совместим только с системами Windows и Mac OS и предоставляет как бесплатную версию (Community Edition), так и платную версию (Professional и Enterprise). VS поддерживает разработку различных платформ и поставляется с собственным рынком подключаемых модулей расширения.
Инструменты Python для Visual Studio (известные также как PTVS) реализуют программирование Python в VS и поддерживают интеллектуальный анализ Python, отладку и другие инструменты.
преимущество:Как и в Eclipse, удобно, если вы добавили PTVS при установке VS.
недостаток:То же, что и Eclipse. Если это только для Python, VS — это большая загрузка. Кроме того, если вы используете систему Linux, вам не повезло, потому что VS не поддерживает платформу Linux.
Visual Studio Code
категория:редактор кода
URL-адрес:code.visualstudio.com/
Инструменты Python:marketplace.visual studio.com/items?item N ...
Visual Studio Code (также известный как VS Code) не следует путать с полной версией VS. Это полнофункциональный редактор кода, совместимый с платформами 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
категория:Интегрированная среда разработки
URL-адрес:www.jetbrains.com/pycharm/
PyCharm — лучшая (и единственная) полнофункциональная IDE специально для Python. Также есть платная версия (профессиональная версия) и бесплатная версия с открытым исходным кодом (версия сообщества). PyCharm поддерживает быструю установку и использование в системах Windows, Mac OS X или Linux.
По умолчанию PyCharm напрямую поддерживает среду разработки Python, откройте новый файл и начните писать код. Вы также можете запускать и отлаживать программы Python непосредственно в PyCharm, и он поддерживает управление исходным кодом и проектами.
преимущество:Это настоящая среда разработки Python с большим удобством и поддерживающим сообществом. Его функции редактирования, запуска и отладки доступны прямо из коробки.
недостаток:У PyCharm есть проблема с медленной загрузкой, и для существующих проектов может потребоваться изменение настроек по умолчанию.
Spyder
категория:Интегрированная среда разработки
URL-адрес:Github.com/people, которые друзья-IDE / ...
SPYDER - это интегрированная среда разработки Python с открытым исходным кодом для научных рабочих процессов данных. Он включен в релиз AnaConda Packet Manager, так что в соответствии с вашими настройками, возможно, вы уже установили Spyder в машине.
Одной из отличительных черт Spyder является то, что его целевая аудитория — специалисты по данным, использующие Python. Вы обязательно это заметите, например, Spyder хорошо интегрируется с некоторыми общедоступными библиотеками данных Python, такими как SciPy, NumPy и Matplotlib.
Spyder имеет большинство функций, которые вы ожидаете от IDE, таких как редактор кода с мощной подсветкой синтаксиса, завершение кода Python и даже встроенный файловый браузер.
Специальная функция, которую я никогда не видел в других средах редактирования Python, — это функция Spyder «браузер переменных», которая отображает данные в таблице в правой части интерфейса IDE. Лично мне эта функция не очень нужна, но выглядит аккуратно. Если вы ежедневно занимаетесь наукой о данных, используя Python, вам обязательно понравится эта уникальная функция. Интеграция Spyder с IPython или Jupyter также выполнена очень хорошо.
В целом, я думаю, что Spyder является более простым, чем другие IDE, и я предпочитаю рассматривать его как профессиональный инструмент, а не как среду редактирования, которую я использую ежедневно. Одна из замечательных особенностей Spyder заключается в том, что он совместим с Windows, macOS и Linux и является программным обеспечением с полностью открытым исходным кодом.
преимущество:Вам понравится, когда вы станете специалистом по обработке и анализу данных, используя дистрибутив Anaconda Python.
недостаток:Более опытные разработчики Python могут посчитать, что Spyder слишком прост для поддержки основной работы, необходимой на ежедневной основе, и в этом случае они выберут более полную IDE или решение для пользовательского редактора.
Thonny
категория:Интегрированная среда разработки
URL-адрес:thonny.org/
Как новый член семейства Python IDE, Thonny известен как IDE для начинающих. Thonny, разработанный и поддерживаемый факультетом компьютерных наук Тартуского университета, Эстония, доступен для всех основных платформ и содержит инструкции по установке на веб-сайте.
По умолчанию Thonny устанавливается вместе с собственной версией Python, так что вам не нужно устанавливать ничего нового. Более опытным ветеранам может потребоваться изменить этот параметр, чтобы найти и использовать установленные библиотеки.
преимущество:Вы новичок в Python, и все готово к тому, чтобы иметь интегрированную среду разработки, которую вы выберете.
недостаток:Более опытные ветераны Python также могут счесть Thonny слишком простым, а его встроенный интерпретатор — это просто место для работы, а не инструмент для работы. Кроме того, поскольку это новый инструмент, есть большая вероятность, что вы обнаружите, что готового решения нет, когда вы столкнетесь с проблемой.
Какой из них сделан специально для вас?
Только вы можете решить, какой из них вам нравится, но вот несколько основных советов:
- Новичкам в Python-разработчиках стоит попробовать: чем меньше кастомизаций, тем лучше решение, чем меньше препятствий, тем лучше
- Если вы используете текстовый редактор для других целей (например, для редактирования веб-страниц или файлов), найдите решение для редактора кода.
- Если вы уже используете другое программное обеспечение для разработки, возможно, вам будет проще добавить функциональность Python к существующему набору инструментов.
Если вы хотите узнать больше о системе знаний при изучении Python, вы можете взглянуть на содержание сотен пунктов знаний, на разбор которых мы потратили больше месяца в течение сотен часов: