_curses.错误:设置术语:找不到终端,树莓派



每次我在树莓派上运行这个脚本时:

import curses
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
motor1a = 7
motor1b = 11
motor1e = 22
motor2a = 13
motor2b = 16
motor2e = 15
GPIO.setup(motor1a,GPIO.OUT)
GPIO.setup(motor1b,GPIO.OUT)
GPIO.setup(motor1e,GPIO.OUT)
GPIO.setup(motor2a,GPIO.OUT)
GPIO.setup(motor2b,GPIO.OUT)
GPIO.setup(motor2e,GPIO.OUT)
screen = curses.initscr()
curses.noecho()  
curses.cbreak()
curses.halfdelay(3)
screen.keypad(True)
try:
    while True:   
        char = screen.getch()
        if char == ord('q'):
            break
        elif char == curses.KEY_UP:
            GPIO.output(motor1a,GPIO.HIGH)
            GPIO.output(motor1b,GPIO.LOW)
            GPIO.output(motor1e,GPIO.HIGH)
            GPIO.output(motor2a,GPIO.HIGH)
            GPIO.output(motor2b,GPIO.LOW)
            GPIO.output(motor2e,GPIO.HIGH)
# except SOMEEXCEPTION is missing here, I am not sure why there is an exception in the first place

我收到一个错误:

_curses.error: setupterm: could not find terminal

我该如何解决这个问题?

我看到一个帖子,上面说要做以下事情:

您必须设置环境变量TERMTERMINFO,如下所示:

export TERM=linux ; export TERMINFO=/etc/terminfo

但我不确定在哪里做这一步。

为了使用 curses ,您需要告诉您正在使用哪个终端,以便库可以发送正确的命令。这是通过在运行程序的同一位置运行您在 shell 中提供的命令来完成

$ export TERM=linux
$ export TERMINFO=/etc/terminfo
$ python3 myprogram.py

($是shell的提示,你可能还有其他东西(

正如我在评论中提到的,您的代码无论如何都不会运行,try后缺少一个except(我不确定您需要try做什么,无论如何您都需要了解这一点才能捕获正确的异常(

相关内容

  • 没有找到相关文章

最新更新