Что необходимо для проклятий в Python 3.4 на Windows7?
У меня есть запущенная установка Python 2.7/3.4 на моем компьютере с Windows 7 (x64). Я хотел бы протестировать проклятия в Windows.
Curses установлен, но не работает:
>>> import curses
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Tools\Python3.4.2\lib\curses\__init__.py", line 13, in <module>
from _curses import *
ImportError: No module named '_curses'
В документации говорится:
Версия Python для Windows не включает модуль curses. Доступна переносимая версия под названием UniCurses.
Таким образом, установщик Windows Python 3.4 установил проклятия с неразрешенными зависимостями. Это можно назвать ошибкой...
Хорошо, я посмотрел в UniCurses. Это оболочка для PDCurses:
UniCurses - это оболочка для Python 2.x/3.x, которая обеспечивает унифицированный набор функций Curses на всех платформах (MS Windows, Linux и Mac OS X) с синтаксисом, близким к синтаксису исходных NCurses. Чтобы обеспечить функциональность Curses в системах Microsoft Windows, она завершает PDCurses.
Установка UniCurses через pip3
приводит к ошибке:
C:\Users\Paebbels>pip3 install UniCurses
Downloading/unpacking UniCurses
Could not find any downloads that satisfy the requirement UniCurses
Some externally hosted files were ignored (use --allow-external UniCurses to allow).
Cleaning up...
No distributions at all found for UniCurses
Storing debug log for failure in C:\Users\Paebbels\pip\pip.log
Ссылка на SourceForge на сайте Python UniCurses мертва. Поиск вручную SourceForge помог снова найти UniCurses для Python.
Но установщик UniCurses 1.2 не может найти установку Python в моем реестре Windows. (Доступны Python 2.7.9 и Python 3.4.2).
Я также просмотрел Curses Public Domain (PDCurses). PD Cureses 3.4 - с конца 2008 года. Так ему 7 лет. Я не думаю, что он будет работать либо с Windows 7, либо с Windows 8.1 или Windows 10.
Есть ли способ запустить curses в Windows с помощью Python.
(Windows Python, а не CygWin Python!)
Ответы
Ответ 1
Вы можете использовать curses кроссплатформенные (Windows, MacOS, GNU/Linux), если вы устанавливаете вручную для Windows или как другие пакеты в других.
-
Установить пакет колес. Если вам нужна дополнительная информация о колесе, нажмите здесь.
-
Перейти в этот репозиторий.
-
Загрузите пакет с вашей версией Python, например, для Python 3.4:
curses-2.2-cp34-none-win_amd64.whl
-
Установите его (эта команда, если для Windows, в GNU/Linux установить как другой пакет)
python -m pip install curses-2.2-cp34-none-win32.whl
-
Просто включите в ваш скрипт на Python:
import curses
Вы можете использовать curses wrapper для Python. Работает в Fedora 25 во всех терминалах и Windows 10, используя git bash, powershell или cmd.
Обновить:
- Альтернатива проклятиям в Windows здесь.
- Консольный пользовательский интерфейс в Windows здесь.
- Интересный урок здесь.
Ответ 2
Вы можете попробовать мое зеркало unicurses, которое включает в себя pdcurses dll. У меня есть в настоящее время и работает на Windows 7 с Python 3.5.0.
Чтобы быстро проверить, работает ли он для вас, просто клонируйте репозиторий и создайте и запустите скрипт python внутри его каталога верхнего уровня, содержащего что-то вроде
from unicurses import *
stdscr = initscr()
addstr("hello world")
getch()
Ответ 3
Теперь мы можем легко установить на python 3.7, используя pip install windows-curses