python - Setupterm 找不到终端,在 Python 程序中使用 curses

标签 python curses

我正在尝试使用 Python(使用 PyCharm 2.0)运行一个简单的 curses 脚本。

这是我的脚本:

import curses
stdscr = curses.initscr()
curses.noecho()
curses.cbreak()
stdscr.keypad(1)
while 1:
    c = stdscr.getch()
    if c == ord('p'): print("I pressed p")
    elif c == ord('q'): break

curses.nocbreak(); stdscr.keypad(0); curses.echo()
curses.endwin()

当我从我的 IDE (PyCharm 2) 运行它时,我收到以下错误:


_curses.error: setupterm: could not find terminal
Process finished with exit code 1

如果我从 bash 运行脚本,它只会卡在 while 循环中,对按下 p 或 q 没有反应。

任何帮助将不胜感激。

最佳答案

你必须设置环境变量TERMTERMINFO,像这样:

export TERM=linux
export TERMINFO=/etc/terminfo

并且,如果您的设备没有此目录 (/etc/terminfo),请创建并复制 terminfo 数据库。

“linux”和“pcansi”终端可以下载数据库:

关于python - Setupterm 找不到终端,在 Python 程序中使用 curses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9485699/

相关文章:

python - Flask 设置代码运行一次,但不在测试期间运行

python - Django ModelForm 初始或自定义字段值

python - PyCharm自动更改脚本

python - 如何按索引顺序展平列表矩阵(列表列表)?

c - 无需 Curses 即可对控制台图形进行动画处理

Python Selenium,逐个字母发送键

python - 打印一个奇特的字符串并在打印后更新它以模拟 GUI

c - 如何不间断地从键盘连续获取字符?

python - Urwid 列表框 : How to get fluid focus movement?

python - NLTK - 抛出 Stem() 缺少 1 个必需参数错误