





В качестве альтернативы, в виде обычного текста: (также доступно как Скриншот)
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
Netbeans не поддерживает автозавершение кода, начиная с версии 8.0.2.
Можно добавить навес. Это неплохо.
Можете ли вы сделать адаптивную версию, чтобы я мог прочитать ее на моем Blackberry, пожалуйста?
@Exitos Вы всегда можете предложить отредактировать для лучшего формата. Для этого используйте кнопку «предложить редактировать» или «отредактировать». Будьте тем изменением, которое вы хотите видеть в мире.
Я только что просмотрел записи для Spyder (который поставляется бесплатно в Anaconda) и Emacs, и могу подтвердить, что они актуальны на данный момент.
«Это эксперимент. Разработчики C++ заботятся о том, чтобы их список был сокращен и обновлен. Это действительно единственный способ, которым это может сработать». - meta.stackoverflow.com/a/276552/541136 Итак, некоторые из этих IDE не работают и нуждаются в удалении?
Я использую возвышенную IDE anaconda. Он делает большую часть того, что требуется для поддержки Python. В текущей среде PyCharm работает медленно. С другой стороны, Sublime относительно быстр. Имеет возможность гибкой настройки. damnwidget.github.io/anaconda
Также было бы хорошо знать, какая из этих IDE может открывать внутри себя интерактивную оболочку Python.
ссылка с открытым исходным кодом в настоящее время мертва
Для тех, кто ищет хорошую среду IDE для анализа данных для Python, Rodeo только что обновил свою попытку и по сути копирует внешний вид RStudio (r-bloggers.com/rstudio-clone-for-python-rodeo).
@OhadR Eclipse также имеет собственную поддержку Python specialmeaning.blogspot.com/2016/04/…
«Y» для завершения кода немного вводит в заблуждение ИМО. Единственная IDE, которую я пробовал в этом списке, которая имеет завершение кода настоящий, - это PyCharm. Большинство из них имеют автозавершение кода в стиле текстового процессора, где оно просто соответствует тому, что вы написали ранее, вместо того, чтобы фактически пытаться определить тип ваших переменных. Я имею в виду, это понятно, поскольку динамическая типизация Python делает это чрезвычайно сложным, но мы не должны обманываться, что все эти IDE действительно имеют реальное завершение кода.
@Timmmm Мне нравится мое автоматическое завершение, простое, гибкое и быстрое, и только Notepad ++ предоставляет это. В большинстве IDE, которые я пробовал, есть только подсказки по вызову.
@CeesTimmerman Большинство IDE могут быстро выполнять точное завершение кода и для языков со статической типизацией (Java, C#, C++). Это намного сложнее для динамически типизированных языков, таких как Python, но я бы все же предпочел, чтобы это было, чем нет.
@Timmmm dir() и help() перечисляют все свойства mysteryvar. Я предпочитаю онлайн-документацию отладчикам.
@CeesTimmerman Да, вы можете использовать онлайн-документацию, но это намного медленнее. Я не знаю, почему вы предпочитаете медленный метод. Кстати, я просто снова попробовал Komodo Edit (последний раз пытался около 5 лет назад). Теперь у него довольно разумное автозавершение кода, и оно очень быстрое - стоит взглянуть.
@Timmmm У Google есть примеры, и он работает быстрее, чем управляет и запускает точки останова. В Komodo Edit по-прежнему отсутствует более распространенный случай повторного использования имен переменных в одном файле, и даже в этом случае они могут игнорироваться в комментариях.
Вы можете сделать из этого таблицу Markdown.
А как насчет рефакторинга (например, переименования переменных или функций в файлах)? ИМО, гораздо важнее, чем большинство других записей в таблице.
Электронная таблица и текстовая версия различаются: вам нужно добавить шаблоны кода в PyCharm.
emacs имеет некоторую поддержку БД в виде устанавливаемых пакетов. хотя никогда не пробовал.
KDevelop (с kdev-python) имеет интегрированную отладку PDB, шаблоны кода и реальное (с учетом типов) автозаполнение.
Самая важная функция, которую я хотел (вывод типа), отсутствует в этом списке ...
Что не так со ссылкой? Когда я щелкаю изображение, в таблице появляется десяток строк, а в предварительном просмотре - тридцать ...
Таблицы, похоже, потеряли много записей. Как отметил @ Rightleg, на картинке показано намного больше записей, чем сейчас, включая Geany, которую я использую прямо сейчас. В чем причина удаления?
Что-нибудь из этого действительно хорошее? Я все еще ищу Python IDE, которым я доволен. Atom не выполняет настоящую контекстно-зависимую автокоррекцию, потребляет огромное количество оперативной памяти, а его сочетания клавиш Emacs ужасны. PyCharm довольно хорош, но использует много памяти, а полный набор функций стоит дорого (180 фунтов стерлингов за годовую лицензию!). Eclipse делает почти все, но опять же требует огромного объема памяти. Кажется, что Emacs делает большинство вещей, но конфигурация настолько византийская, что я отказался (и у него нет приличного отображения дерева проекта). NetBeans 8.2 не поддерживает Python.
Собственно, я попробовал emacs / elpy еще раз. Он не идеален (или, может быть, я еще не настроил его идеально), но он уже превосходит любой из бесплатных вариантов.
Вывод типа @Mehrdad используется для подсказок и автозаполнения.
@CeesTimmerman: Мне не ясно, что считается автозаполнением. Мой текстовый редактор просто отображает любые слова, которые он находит в текущем файле, как записи автозаполнения; это довольно глупо и не выполняет никакого вывода типов. Кроме того, когда я нахожу указатель на переменную в Visual Studio, она показывает фактические типы, которые были выведены. Это больше информации, чем просто перечисление предполагаемых методов.
Текстовые редакторы @Mehrdad не понимают типы переменных. Попробуйте Visual Studio Code или любую другую компетентную Python IDE, например PyScripter.
@FLHerne Насколько я понимаю, в Windows 10 нет. Не стесняйтесь обновлять таблицу сами.
Мне нравится использовать pyCharm https: //www.jetbrains.com/pycharm
@CeesTimmerman: +1. Понятно, что существуют различные уровни автозаполнения, от повторения существующих слов до полного автономного синтаксического анализа и полного онлайн-анализа на основе текущего содержимого / типа класса / переменной. Кроме того, для некоторых инструментов требуется, чтобы вы вводили начало функции / свойства / класса, в то время как другие можно вызывать, а затем вводить любую часть в порядке, я нахожу последнее невероятно полезным (например: скажем, у класса Foo есть метод foobar (), в jupyter блокнот, который вам сейчас нужно сделать Foo. <Tab> fo, а в других инструментах вы можете использовать Foo. <ctrl-Tab> bar, и он найдет Foo.foobar ())
@Tom - плагин для Netbeans все еще доступен. См. plugins.netbeans.org/plugin/56795/python4netbeans802. Это работает в Netbeans 11, но имеет те же недостатки. Не обновлялся примерно с 2014 года. Я надеялся, что Apache приложит некоторые усилия к Python, когда они захватят Netbeans, но пока ничего.
@ user541686 PyCharm поддерживает вывод типов
В браузере моего смартфона эту таблицу невозможно прочитать.