【问题标题】:Is there a good Python GUI shell?有没有好的 Python GUI shell?
【发布时间】:2010-09-21 14:06:15
【问题描述】:

前几天我看到了这个(滚动一路看到一些聪明的东西):

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

想知道 Python 是否存在类似的东西。

那么,有没有一个好的 Python GUI shell 可以做 C# shell 可以做的事情?

编辑:这里是文章截图的链接,展示了我感兴趣的内容。

我感兴趣的事物类型的一个例子:

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

他们能够添加钩子来生成图形等 GUI 元素,甚至可以做一些愚蠢的事情,例如:

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

我认为这对于我尝试过的任何控制台 shell(常规的 python shell,ipython)都是不可能的。

编辑:我不是在寻找 IDE。如果您查看链接,您就会知道我想要什么。

【问题讨论】:

  • 如何更新您的问题以描述您的用例。你想让我做什么?您希望系统做出什么响应?图片只是图片,而且 - 显然 - 难以解释为用例。不要说你不想要的。说你想说的。
  • 为什么挂断它是一个 GUI?
  • @S.Lott:添加钩子/内置插件以内联显示图形,是描述我链接到的图片的一种方式。
  • 我不认为你可以在控制台中做 GTK-ish 图形...
  • @Marcos:他正在寻找一个单独的解释器来使其成为可能,而不是一种将其集成到控制台中的方法。这对于 Mono C# shell 使用的 read-eval-print 循环是绝对可能的,只是还没有完成。

标签: python shell user-interface


【解决方案1】:

我知道的一个提供类似功能(内联绘图、可自定义渲染)的项目是Reinteract。另一个(虽然对于一般用途可能有点重量级)是SAGE,它为基于网络的notebooks 提供功能。

这些并不完全是外壳 - 它们的设计更像是一个数学笔记本(例如,您可以修改较早的结果并将更改传播到以后的计算),但它们与您的实际情况接近正在寻找,并且可能会被修改为这样使用。

【讨论】:

    【解决方案2】:

    你看过ipython吗?它不像“gui”。没有笑脸,对不起。 ;-) 虽然它是一个非常好的 Python 交互式 shell。

    编辑:我看到您修改了您的问题以强调 GUI 的重要性。在这种情况下,IPython 将不是一个很好的匹配项。

    还不如为您节省另一个死胡同:我去看了 DrPython,希望它类似于 PLT 的 DrScheme,它看起来也可以与您链接的示例相媲美。不幸的是,DrPython 与 DrScheme 并不完全一样。

    【讨论】:

    • 谁说没有笑脸! sys.displayhook=lambda x:sys.stdout.write(([':-(',':-)'][x] if isinstance(x,bool) else repr(x)) + '\n') 你甚至可以在支持 unicode 的控制台上使用 u'\u2639\u263a'[x]。
    • @MarcosLara:有jupyter qtconsole 和jupyter notebooks。 ipython 是 jupyter 的内核。
    【解决方案3】:

    据我所知,目前还没有任何东西可以提供 Mono 开发人员在他们的新 shell 中实现的那种神奇功能,但这并不是说“基本”python 交互式 shell 不是功能齐全且功能强大的应用程序。我可以在某个时候看到类似 C# shell 的开发,但我认为截至今天,您所指的那些功能相当独特。有人可能会争辩说,这是因为没有人想到它们,或者是因为没有人真正需要它们。我倾向于订阅后者,尽管我认为两者都是合理的。

    【讨论】:

      【解决方案4】:

      (对于线程死灵很抱歉,但这个页面在谷歌搜索中仍然很高,我认为一定对这个主题有一些兴趣。)

      我认为相当新的 Python GUI shell 是DreamPie。它并没有问题中的屏幕截图那么远,但它可能是最接近的。他们至少会在有用的功能列表中突出显示交互式图表。

      【讨论】:

      • 这个问题仍然在 Google 上出现,最新的 DreamPie 看起来可能是 Reinteract 的更好替代品(已投票!)。
      【解决方案5】:

      您正在寻找Reinteract,这是一个基于 Python 的 shell,at least partially inspired 是您找到的 C# shell。它肯定还在开发中,但已经非常有用了。

      【讨论】:

        【解决方案6】:

        我认为 Pycrust 与 matplotlib 的结合可以完全满足您的需求。 Pycrust 是 wxPython 安装的一部分,matplotlib 应该单独安装。两者都可以在大约 5 分钟内轻松安装。

        阅读this,了解如何将 matplotlib 与 Pycrust 集成以生成与您发布的链接中类似的动态图。

        【讨论】:

          【解决方案7】:

          DreamPie 是我个人的最爱。它似乎没有比 CSharpRepl 更具限制性。例如,如果安装了 matplotlib,则可以完成图形绘制示例。在 DreamPie 的网站 (http://dreampie.sourceforge.net/) 上,有一个示例截图说明了这种效果。

          Bpython 类似,我更喜欢它。但它仅在 Linux 上以二进制形式提供。

          【讨论】:

            【解决方案8】:

            Light Table 正在处理这个问题。 IDE 同时是一个 REPL——它使用 iPython 进行内联绘图。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-03-16
              • 1970-01-01
              • 2010-10-09
              • 1970-01-01
              • 1970-01-01
              • 2010-12-15
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多