Подтвердить что ты не робот

Что необходимо для проклятий в 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!)

4b9b3361

Ответ 1

Вы можете использовать curses кроссплатформенные (Windows, MacOS, GNU/Linux), если вы устанавливаете вручную для Windows или как другие пакеты в других.

  1. Установить пакет колес. Если вам нужна дополнительная информация о колесе, нажмите здесь.

  2. Перейти в этот репозиторий.

  3. Загрузите пакет с вашей версией Python, например, для Python 3.4:

    curses-2.2-cp34-none-win_amd64.whl
    
  4. Установите его (эта команда, если для Windows, в GNU/Linux установить как другой пакет)

    python -m pip install curses-2.2-cp34-none-win32.whl
    
  5. Просто включите в ваш скрипт на 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