Есть ли хорошая оболочка GUI Python?

Я видел это на днях (прокрутите весь путь вниз, чтобы увидеть некоторые из умных вещей):

http://www.mono-project.com/docs/tools+libraries/tools/repl/

И задавался вопросом, существует ли что-то подобное для Python.

Итак, есть ли хорошая оболочка GUI Python, которая может делать такие вещи, как оболочка С#?

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

Пример типа вещей, которые меня интересуют:

http://www.mono-project.com/archived/images/7/75/GSharpPlot.png

Они могут добавлять крючки для создания элементов GUI, таких как сюжет, или даже делать такие глупые вещи, как:

http://www.mono-project.com/archived/images/b/bf/GSharpRenderHandler.png

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

Изменить: я не ищу IDE. Если вы посмотрите на ссылку, вы получите представление о том, чего я хочу.

Ответы

Ответ 1

Один проект, о котором я знаю, предоставляет аналогичные функции (встроенный графический интерфейс, настраиваемый рендеринг) Reinteract. Другой (хотя, возможно, немного тяжеловес для общего использования) SAGE, который обеспечивает функциональность веб-блокноты.

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

Ответ 2

Вы посмотрели ipython? Это не совсем как "gui". Никаких смайлов, извините.;-) Это довольно хорошая интерактивная оболочка для python.

edit: Я вижу, что вы пересмотрели свой вопрос, чтобы подчеркнуть важность GUI. В этом случае IPython не будет хорошим совпадением.

Мог бы также спасти вас в другом тупике: я пошел посмотреть на DrPython, надеясь, что он будет похож на PLT DrScheme, который выглядит сопоставимым с примером, с которым вы тоже связаны. К сожалению, DrPython не так сильно похож на DrScheme.

Ответ 3

Насколько я знаю, нет ничего, что предлагает такие функции whiz-bang, которые ребята Mono внедрили в свою новую оболочку, но это не означает, что "базовая" интерактивная оболочка python не полнофункциональное и мощное приложение. В какой-то момент я мог видеть что-то вроде оболочки С#, но я думаю, что на сегодняшний день те функции, о которых вы указываете, достаточно уникальны. Можно было бы утверждать, что это происходит потому, что никто не думал о них или, альтернативно, потому что у них действительно не было необходимости в них. Я склонен подписываться на последние, хотя я полагаю, что оба варианта правдоподобны.

Ответ 4

(Извините за некромантию нити, но эта страница по-прежнему очень сильно связана с поиском Google, и я предполагаю, что в этом вопросе должен быть некоторый интерес.)

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

Ответ 5

Вы ищете Reinteract, который представляет собой оболочку на основе Python, которая хотя бы частично вдохновил найденную оболочку С#. Это определенно еще в разработке, но уже очень полезно.

Ответ 6

Я думаю, что комбинация Pycrust с matplotlib может делать именно то, что вам нужно. Pycrust является частью установки wxPython, и matplotlib следует отменить отдельно. Оба они просты в установке примерно через 5 минут.

Прочитайте об этом об интеграции matplotlib с Pycrust для создания динамических графиков, таких как те, которые вы указали в ссылке.

Ответ 7

DreamPie - мой личный фаворит. Он не выглядит более строгим, чем CSharpRepl. Например, пример рисования графа может быть выполнен, если установлен matplotlib. На этом веб-сайте DreamPie показан пример скриншота (http://dreampie.sourceforge.net/).

Bpython похож, и мне это нравится лучше. Но он доступен только в Linux как двоичный.

Ответ 8

Light Table работает над этим. IDE одновременно является REPL - он имеет встроенную графику с iPython.