【问题标题】:Python curses Redirection is not supportedPython curses 不支持重定向
【发布时间】:2013-05-20 08:59:31
【问题描述】:

我正在尝试在 Win7 的 Eclipse 中使用 PyDev 中的 Curses。

我已经安装了 Python 3.2(64 位)和 curses-2.2.win-amd64-py3.2。当我在 PyDev 中输入以下测试代码时:

import curses  

myscreen = curses.initscr()
myscreen.border(0)
myscreen.addstr(12, 25, "Python curses in action!")    
myscreen.refresh()
myscreen.getch()     
curses.endwin()

它没有显示任何语法错误,所以我认为 curses 安装正确。

但是,当我将它作为 Python Run 运行时,输出显示:不支持重定向。我不知道这个问题来自哪里。我google了很多,但找不到相关信息。

【问题讨论】:

  • Eclipse 没有终端模拟器。从终端运行它。
  • 从终端运行解决问题了吗?

标签: python pydev curses


【解决方案1】:

对于 Pycharm 用户,codeape 提供的解决方案可以正常工作:

Snapshot

【讨论】:

    【解决方案2】:

    我的解决方法是创建一个调用 curses 脚本的运行配置。无需切换到终端并在一个会话中手动运行脚本数百次,这点开销是值得的。我使用 Intellij,但我想这个过程在 PyCharm 中应该是相似的。

    想要的结果是一个按钮运行脚本的便利性:

    首先创建一个调用入口脚本的脚本,例如:

    ptyhon name-of-script.py
    

    然后,为每个脚本创建一个配置:

    1. 转到编辑配置。
    2. 单击加号按钮并添加一个 Shell 脚本。
    3. 输入 shell 脚本的路径。

    这是一个包含几个示例脚本的目录图片。

    我使用这个过程来查看我的进度。我的 curses 脚本非常简陋,所以幸运的是我可以在没有调试器的情况下生活。

    【讨论】:

      【解决方案3】:

      您不能使用任何 IDE 来运行带有 curses 包的 python 文件。以前在pycharm里跑,自然跑不了。

      换成命令行运行:

      按照我的以下步骤进行测试

      1. 在桌面打开记事本并复制粘贴代码并保存为filename.py
      2. 打开命令行切换目录到桌面使用下面的命令cd Desktop然后回车输入python example.py然后回车,你的程序肯定会运行

      【讨论】:

        【解决方案4】:

        最近的 PyCharm 版本(我目前正在运行 2017.2,不确定何时添加此选项,或者它是否一直存在)具有“在输出控制台中模拟终端”选项。诅咒在选中此选项时有效。

        【讨论】:

        • 当我启用它时,它只是显示为一个闪烁的黑框。我看不到我正在经历的选项。
        【解决方案5】:

        您不能期望将curses 与非终端一起使用。

        您可能会得到这个,因为您是从 IDE 内部运行脚本,例如 PyCharm 或任何其他。

        所有 IDE 都提供不是终端的控制台,所以这就是问题所在。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-03-12
          • 1970-01-01
          • 2019-12-21
          • 1970-01-01
          • 2020-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多