15

我正在尝试在 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了很多,但找不到相关信息。

4

5 回答 5

16

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

在此处输入图像描述

于 2017-10-22T12:39:52.720 回答
9

You cannot expect to use curses with a non-terminal.

Probably you get this because you are running the script from inside an IDE, like PyCharm or any other.

All IDEs do provide consoles that are not terminals, so that's where the problem comes from.

于 2015-11-27T13:09:18.060 回答
1

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

快照

于 2021-10-20T14:22:41.597 回答
0

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

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

Intellij 运行脚本

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

ptyhon name-of-script.py

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

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

Intellij Shell 脚本配置

这是带有几个示例脚本的目录的图片。

ncurses 脚本的目录树

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

于 2020-02-01T06:53:24.630 回答
0

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

换成命令行运行:

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

  1. 在桌面上打开记事本并复制粘贴代码并将其保存为 filename.py
  2. 打开命令行更改目录到桌面使用下面的命令cd Desktop并按回车类型python example.py并回车,您的程序肯定会运行
于 2019-11-12T14:58:36.643 回答