Curses вылетает при выполнении (Python 3.7.2 в Windows 10) - PullRequest
0 голосов
/ 11 января 2019

Пару дней назад узнал о Curses и хотел начать с ним возиться, чтобы посмотреть, что я смогу создать. Я следовал некоторым инструкциям по установке в другом потоке, и он установился просто отлично. Однако, когда я пытаюсь запустить initscr () (который инициализирует экран, он падает)

Вот текст ошибки:

{Traceback (most recent call last): File "C:\Users\ADimi\Desktop\Wing Workspace\test.py", line 2, in <module> stdscr = curses.initscr() File "C:\Users\ADimi\AppData\Local\Programs\Python\Python37\lib\curses\__init__.py", line 30, in initscr fd=_sys.__stdout__.fileno()) AttributeError: 'NoneType' object has no attribute 'fileno'}

Для воссоздания:

Вы можете запустить это либо в простом, либо в отдельном файле. Для меня это напрямую вызывает ошибку, особенно строка 2. stdscr = curses.initscr()

import curses stdscr = curses.initscr()

Из того, что я понимаю из самой ошибки, _sys.__stdout__ возвращает NoneType и, таким образом, приводит к сбою.

Я пытался найти похожие проблемы в сети, но мне не повезло. Любая помощь на этом этапе может сильно помочь, я бы хотел, чтобы это работало.

Вот ссылка на проклятия: https://docs.python.org/2/howto/curses.html#curses-howto

Вот где я узнал о проклятиях, первый комментарий - это инструкции по установке, которым я следовал: Что нужно для проклятий в Python 3.4 на Windows7?

Заранее спасибо.

EDIT: У меня есть кое-что исправить. Здесь есть версия проклятий с учетом окон: https://pypi.org/project/windows-curses/#files

После удаления старых проклятий и их установки вы должны выполнить несколько промежуточных шагов:

Создайте файл с этим тестовым кодом:

import curses
import time

screen = curses.initscr()
screen.clear()

time.sleep(4)

Создайте путь для 'python' для вашего приглашения cmd: https://www.pythoncentral.io/add-python-to-path-python-is-not-recognized-as-an-internal-or-external-command/

Теперь, используя приглашение cmd, откройте файл:

python test.py

Вы должны увидеть черный экран на 4 секунды, затем он закроется.

Это единственная работа, с которой я столкнулся, я буду продолжать искать и обновлять, пока иду, спасибо.

...