Я пытаюсь запустить простой сценарий 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.
Любая помощь будет принята с благодарностью.
Вы будете видеть эту ошибку при использовании Idle. Это из-за перенаправления Idle по умолчанию ввода/вывода. Попытайтесь запустить свою программу из командной строки. python3 <filename>.py
Если Вы используете 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.