Setupterm не может найти терминал в программе Python с использованием curses

Я пытаюсь запустить простой сценарий curses с использованием Python (с PyCharm 2.0).

Это мой сценарий:

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.

Любая помощь будет принята с благодарностью.

26
задан simont 28 February 2012 в 20:38
поделиться

2 ответа

Вы будете видеть эту ошибку при использовании Idle. Это из-за перенаправления Idle по умолчанию ввода/вывода. Попытайтесь запустить свою программу из командной строки. python3 <filename>.py

0
ответ дан 28 November 2019 в 07:26
поделиться

Если Вы используете macOS и выполняете PyCharm, необходимо будет установить переменные среды от самого IDE для объема выполнения.

Конфигурации Редактирования-> Переменные среды

тогда добавляют ниже пар "имя-значение"

, вышеупомянутое linux

TERMINFO/etc/zsh

ТЕРМИНА эквивалентно экспорту переменной среды от консоли, которая сделана как это

$ export TERM=linux
$ export TERMINFO=/bin/zsh

, значение по умолчанию для ТЕРМИНА является xterm, другие значения [консоль, rxvt] rxvt, например, часто создается с поддержкой 16 цветов. Можно попытаться установить СРОКИ к rxvt-16color.

/bin/zsh является путем терминального приложения, которое я использую в Mac

, Это похоже на сообщение Вашей программы, что Вы будете входить в Linux (ТЕРМИН) как терминал, который может быть найден в/bin/zsh. Для использования оболочки удара это могло быть что-то как/bin/bash.

0
ответ дан 28 November 2019 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: