@SepultureSE

Как исправить ошибку npyscreen?

Вероятно, вопрос будет достаточно глупый, но я нуждаюсь в помощи. На днях решил попробовать npyscreen. Сам я сижу на ОС Windows. npyscreen зависим от curses и этот curses не совместим с Windows, как я понял. Поэтому я установил windows-curses. Написал простейший код по статье на habr:
import npyscreen


class App(npyscreen.StandardApp):
    """ Класс приложения npyscreen """
    def onStart(self):
        self.addForm('MAIN', ChatBoxForm, name='Chat Box')

class ChatBoxForm(npyscreen.ActionForm):
    """ Форма виджета на котором будет написан заголовок """
    def create(self):
        self.title = self.add(npyscreen.TitleText, name='TitleText', value='Hello World')

    def on_ok(self):
        self.parentApp.setNextForm(None)

    def on_cancel(self):
        self.title.value = "Hello World!"


if __name__ == '__main__':
    MyApp = App()
    MyApp.run()


Запускаю код, на мгновение появляется появляется выполненный скрипт, то, что мне нужно, но потом это исчезает и я получаю ошибку: RuntimeError: generator raised StopIteration

Залил на Облако видео, что происходит, когда я запускаю скрипт: *смотреть видео*
Моя версия Python: Python 3.9.1

P.S. Я пробовал использовать разные версии Python. 7, 8, 9.
  • Вопрос задан
  • 561 просмотр
Решения вопроса 1
@o5a
Эта ошибка гуглится. Проблема в изменениях работы Python 3.7+
npyscreen под них не дорабатывали

Вот, например, там же предлагают как вариант альтернативную версию модуля
https://github.com/jwoglom/signal-curses/issues/7
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы