Какую среду IDE использовать для Python?

Какие IDE («GUI / редакторы») другие используют для кодирования Python?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1 026
0
1 657 734
1

Ответы 1

Полученные результаты

Версия электронной таблицы

spreadsheet screenshot

В качестве альтернативы, в виде обычного текста: (также доступно как Скриншот)

                         Bracket Matching -.  .- Line Numbering
                          Smart Indent -.  |  |  .- UML Editing / Viewing
         Source Control Integration -.  |  |  |  |  .- Code Folding
                    Error Markup -.  |  |  |  |  |  |  .- Code Templates
  Integrated Python Debugging -.  |  |  |  |  |  |  |  |  .- Unit Testing
    Multi-Language Support -.  |  |  |  |  |  |  |  |  |  |  .- GUI Designer (Qt, Eric, etc)
   Auto Code Completion -.  |  |  |  |  |  |  |  |  |  |  |  |  .- Integrated DB Support
     Commercial/Free -.  |  |  |  |  |  |  |  |  |  |  |  |  |  |  .- Refactoring
   Cross Platform -.  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |     
                  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Atom              |Y |F |Y |Y*|Y |Y |Y |Y |Y |Y |  |Y |Y |  |  |  |  |*many plugins
Editra            |Y |F |Y |Y |  |  |Y |Y |Y |Y |  |Y |  |  |  |  |  |
Emacs             |Y |F |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |  |  |  |
Eric Ide          |Y |F |Y |  |Y |Y |  |Y |  |Y |  |Y |  |Y |  |  |  |
Geany             |Y |F |Y*|Y |  |  |  |Y |Y |Y |  |Y |  |  |  |  |  |*very limited
Gedit             |Y |F |Y¹|Y |  |  |  |Y |Y |Y |  |  |Y²|  |  |  |  |¹with plugin; ²sort of
Idle              |Y |F |Y |  |Y |  |  |Y |Y |  |  |  |  |  |  |  |  |
IntelliJ          |Y |CF|Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |
JEdit             |Y |F |  |Y |  |  |  |  |Y |Y |  |Y |  |  |  |  |  |
KDevelop          |Y |F |Y*|Y |  |  |Y |Y |Y |Y |  |Y |  |  |  |  |  |*no type inference
Komodo            |Y |CF|Y |Y |Y |Y |Y |Y |Y |Y |  |Y |Y |Y |  |Y |  |
NetBeans*         |Y |F |Y |Y |Y |  |Y |Y |Y |Y |Y |Y |Y |Y |  |  |Y |*pre-v7.0
Notepad++         |W |F |Y |Y |  |Y*|Y*|Y*|Y |Y |  |Y |Y*|  |  |  |  |*with plugin
Pfaide            |W |C |Y |Y |  |  |  |Y |Y |Y |  |Y |Y |  |  |  |  |
PIDA              |LW|F |Y |Y |  |  |  |Y |Y |Y |  |Y |  |  |  |  |  |VIM based
PTVS              |W |F |Y |Y |Y |Y |Y |Y |Y |Y |  |Y |  |  |Y*|  |Y |*WPF bsed
PyCharm           |Y |CF|Y |Y*|Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |*JavaScript
PyDev (Eclipse)   |Y |F |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |  |  |  |
PyScripter        |W |F |Y |  |Y |Y |  |Y |Y |Y |  |Y |Y |Y |  |  |  |
PythonWin         |W |F |Y |  |Y |  |  |Y |Y |  |  |Y |  |  |  |  |  |
SciTE             |Y |F¹|  |Y |  |Y |  |Y |Y |Y |  |Y |Y |  |  |  |  |¹Mac version is
ScriptDev         |W |C |Y |Y |Y |Y |  |Y |Y |Y |  |Y |Y |  |  |  |  |    commercial
Spyder            |Y |F |Y |  |Y |Y |  |Y |Y |Y |  |  |  |  |  |  |  |
Sublime Text      |Y |CF|Y |Y |  |Y |Y |Y |Y |Y |  |Y |Y |Y*|  |  |  |extensible w/Python,
TextMate          |M |F |  |Y |  |  |Y |Y |Y |Y |  |Y |Y |  |  |  |  |    *PythonTestRunner
UliPad            |Y |F |Y |Y |Y |  |  |Y |Y |  |  |  |Y |Y |  |  |  |
Vim               |Y |F |Y |Y |Y |Y |Y |Y |Y |Y |  |Y |Y |Y |  |  |  |
Visual Studio     |W |CF|Y |Y |Y |Y |Y |Y |Y |Y |? |Y |? |? |Y |? |Y |
Visual Studio Code|Y |F |Y |Y |Y |Y |Y |Y |Y |Y |? |Y |? |? |? |? |Y |uses plugins
WingIde           |Y |C |Y |Y*|Y |Y |Y |Y |Y |Y |  |Y |Y |Y |  |  |  |*support for C
Zeus              |W |C |  |  |  |  |Y |Y |Y |Y |  |Y |Y |  |  |  |  |
                  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
   Cross Platform -'  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |     
     Commercial/Free -'  |  |  |  |  |  |  |  |  |  |  |  |  |  |  '- Refactoring
   Auto Code Completion -'  |  |  |  |  |  |  |  |  |  |  |  |  '- Integrated DB Support
    Multi-Language Support -'  |  |  |  |  |  |  |  |  |  |  '- GUI Designer (Qt, Eric, etc)
  Integrated Python Debugging -'  |  |  |  |  |  |  |  |  '- Unit Testing
                    Error Markup -'  |  |  |  |  |  |  '- Code Templates
         Source Control Integration -'  |  |  |  |  '- Code Folding
                          Smart Indent -'  |  |  '- UML Editing / Viewing
                         Bracket Matching -'  '- Line Numbering

Используемые сокращения:

 L  - Linux
 W  - Windows
 M  - Mac
 C  - Commercial
 F  - Free
 CF - Commercial with Free limited edition
 ?  - To be confirmed

Я не упоминаю основы, такие как подсветка синтаксиса, поскольку я ожидаю их по умолчанию.


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

PS. Можете ли вы помочь мне добавить в список функции перечисленных выше редакторов (например, автозаполнение, отладка и т. д.)?

У нас есть подробная вики-страница по этому вопросу https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Внести изменения в таблицу

В браузере моего смартфона эту таблицу невозможно прочитать.

Axel 14.11.2014 10:53
Примечание модератора: If you don't like the format of the table; feel free to edit the table out into a format you think is more visually appealing. The wiki-lock will stay on the question (otherwise, the temptation to add new answers that duplicate existing answers is too great); but everyone can suggest an edit to improve the post. If you're not willing to do that, then there's very little hope you're willing to help keep the question up to date anyway.
George Stocker 18.11.2014 21:11

Netbeans не поддерживает автозавершение кода, начиная с версии 8.0.2.

Musa Haidari 06.02.2015 08:37

Можно добавить навес. Это неплохо.

Rakesh 11.03.2015 05:03

Можете ли вы сделать адаптивную версию, чтобы я мог прочитать ее на моем Blackberry, пожалуйста?

Exitos 19.04.2015 23:58

@Exitos Вы всегда можете предложить отредактировать для лучшего формата. Для этого используйте кнопку «предложить редактировать» или «отредактировать». Будьте тем изменением, которое вы хотите видеть в мире.

George Stocker 22.04.2015 19:46

Я только что просмотрел записи для Spyder (который поставляется бесплатно в Anaconda) и Emacs, и могу подтвердить, что они актуальны на данный момент.

Aaron Hall 02.11.2015 01:15

«Это эксперимент. Разработчики C++ заботятся о том, чтобы их список был сокращен и обновлен. Это действительно единственный способ, которым это может сработать». - meta.stackoverflow.com/a/276552/541136 Итак, некоторые из этих IDE не работают и нуждаются в удалении?

Aaron Hall 02.11.2015 05:04

Я использую возвышенную IDE anaconda. Он делает большую часть того, что требуется для поддержки Python. В текущей среде PyCharm работает медленно. С другой стороны, Sublime относительно быстр. Имеет возможность гибкой настройки. damnwidget.github.io/anaconda

nish 05.11.2015 15:56

Также было бы хорошо знать, какая из этих IDE может открывать внутри себя интерактивную оболочку Python.

multigoodverse 14.11.2015 16:13

ссылка с открытым исходным кодом в настоящее время мертва

JenB 21.11.2015 14:46

Для тех, кто ищет хорошую среду IDE для анализа данных для Python, Rodeo только что обновил свою попытку и по сути копирует внешний вид RStudio (r-bloggers.com/rstudio-clone-for-python-rodeo).

nathaneastwood 04.01.2016 18:23

@OhadR Eclipse также имеет собственную поддержку Python specialmeaning.blogspot.com/2016/04/…

Serg 02.04.2016 14:46

«Y» для завершения кода немного вводит в заблуждение ИМО. Единственная IDE, которую я пробовал в этом списке, которая имеет завершение кода настоящий, - это PyCharm. Большинство из них имеют автозавершение кода в стиле текстового процессора, где оно просто соответствует тому, что вы написали ранее, вместо того, чтобы фактически пытаться определить тип ваших переменных. Я имею в виду, это понятно, поскольку динамическая типизация Python делает это чрезвычайно сложным, но мы не должны обманываться, что все эти IDE действительно имеют реальное завершение кода.

Timmmm 11.04.2016 17:50

@Timmmm Мне нравится мое автоматическое завершение, простое, гибкое и быстрое, и только Notepad ++ предоставляет это. В большинстве IDE, которые я пробовал, есть только подсказки по вызову.

Cees Timmerman 11.04.2016 18:49

@CeesTimmerman Большинство IDE могут быстро выполнять точное завершение кода и для языков со статической типизацией (Java, C#, C++). Это намного сложнее для динамически типизированных языков, таких как Python, но я бы все же предпочел, чтобы это было, чем нет.

Timmmm 11.04.2016 23:17

@Timmmm dir() и help() перечисляют все свойства mysteryvar. Я предпочитаю онлайн-документацию отладчикам.

Cees Timmerman 12.04.2016 11:04

@CeesTimmerman Да, вы можете использовать онлайн-документацию, но это намного медленнее. Я не знаю, почему вы предпочитаете медленный метод. Кстати, я просто снова попробовал Komodo Edit (последний раз пытался около 5 лет назад). Теперь у него довольно разумное автозавершение кода, и оно очень быстрое - стоит взглянуть.

Timmmm 12.04.2016 11:49

@Timmmm У Google есть примеры, и он работает быстрее, чем управляет и запускает точки останова. В Komodo Edit по-прежнему отсутствует более распространенный случай повторного использования имен переменных в одном файле, и даже в этом случае они могут игнорироваться в комментариях.

Cees Timmerman 12.04.2016 13:11

Вы можете сделать из этого таблицу Markdown.

user5413945 15.04.2016 14:46

А как насчет рефакторинга (например, переименования переменных или функций в файлах)? ИМО, гораздо важнее, чем большинство других записей в таблице.

rockdaboot 08.06.2016 12:35

Электронная таблица и текстовая версия различаются: вам нужно добавить шаблоны кода в PyCharm.

timo.rieber 16.06.2016 08:24

emacs имеет некоторую поддержку БД в виде устанавливаемых пакетов. хотя никогда не пробовал.

Loreno Heer 28.11.2016 15:31

KDevelop (с kdev-python) имеет интегрированную отладку PDB, шаблоны кода и реальное (с учетом типов) автозаполнение.

FLHerne 30.11.2016 18:14

Самая важная функция, которую я хотел (вывод типа), отсутствует в этом списке ...

user541686 18.04.2017 08:19

Что не так со ссылкой? Когда я щелкаю изображение, в таблице появляется десяток строк, а в предварительном просмотре - тридцать ...

Right leg 08.09.2017 15:21

Таблицы, похоже, потеряли много записей. Как отметил @ Rightleg, на картинке показано намного больше записей, чем сейчас, включая Geany, которую я использую прямо сейчас. В чем причина удаления?

Neinstein 01.11.2017 18:45

Что-нибудь из этого действительно хорошее? Я все еще ищу Python IDE, которым я доволен. Atom не выполняет настоящую контекстно-зависимую автокоррекцию, потребляет огромное количество оперативной памяти, а его сочетания клавиш Emacs ужасны. PyCharm довольно хорош, но использует много памяти, а полный набор функций стоит дорого (180 фунтов стерлингов за годовую лицензию!). Eclipse делает почти все, но опять же требует огромного объема памяти. Кажется, что Emacs делает большинство вещей, но конфигурация настолько византийская, что я отказался (и у него нет приличного отображения дерева проекта). NetBeans 8.2 не поддерживает Python.

Tom 01.03.2018 16:20

Собственно, я попробовал emacs / elpy еще раз. Он не идеален (или, может быть, я еще не настроил его идеально), но он уже превосходит любой из бесплатных вариантов.

Tom 01.03.2018 20:49

Вывод типа @Mehrdad используется для подсказок и автозаполнения.

Cees Timmerman 24.09.2018 12:18

@CeesTimmerman: Мне не ясно, что считается автозаполнением. Мой текстовый редактор просто отображает любые слова, которые он находит в текущем файле, как записи автозаполнения; это довольно глупо и не выполняет никакого вывода типов. Кроме того, когда я нахожу указатель на переменную в Visual Studio, она показывает фактические типы, которые были выведены. Это больше информации, чем просто перечисление предполагаемых методов.

user541686 24.09.2018 12:22

Текстовые редакторы @Mehrdad не понимают типы переменных. Попробуйте Visual Studio Code или любую другую компетентную Python IDE, например PyScripter.

Cees Timmerman 24.09.2018 12:29

@FLHerne Насколько я понимаю, в Windows 10 нет. Не стесняйтесь обновлять таблицу сами.

Cees Timmerman 24.09.2018 13:56

Мне нравится использовать pyCharm https: //www.jetbrains.com/pycharm

Nada N. Hantouli 13.02.2019 16:55

@CeesTimmerman: +1. Понятно, что существуют различные уровни автозаполнения, от повторения существующих слов до полного автономного синтаксического анализа и полного онлайн-анализа на основе текущего содержимого / типа класса / переменной. Кроме того, для некоторых инструментов требуется, чтобы вы вводили начало функции / свойства / класса, в то время как другие можно вызывать, а затем вводить любую часть в порядке, я нахожу последнее невероятно полезным (например: скажем, у класса Foo есть метод foobar (), в jupyter блокнот, который вам сейчас нужно сделать Foo. <Tab> fo, а в других инструментах вы можете использовать Foo. <ctrl-Tab> bar, и он найдет Foo.foobar ())

ntg 27.03.2019 13:07

@Tom - плагин для Netbeans все еще доступен. См. plugins.netbeans.org/plugin/56795/python4netbeans802. Это работает в Netbeans 11, но имеет те же недостатки. Не обновлялся примерно с 2014 года. Я надеялся, что Apache приложит некоторые усилия к Python, когда они захватят Netbeans, но пока ничего.

Crashmeister 21.11.2019 01:10

@ user541686 PyCharm поддерживает вывод типов

Sadap 28.04.2020 16:28

Другие вопросы по теме