Пару дней назад узнал о 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 секунды, затем он закроется.
Это единственная работа, с которой я столкнулся, я буду продолжать искать и обновлять, пока иду, спасибо.