问题 ImportError:尝试导入祝福时没有名为'_curses'的模块


我试图运行这个:

from blessings import Terminal

t = Terminal()

print (t.bold('Hi there!'))
print (t.bold_red_on_bright_green('It hurts my eyes!'))

with t.location(0, t.height - 1):
    print ('This is at the bottom.')

这是第一个例子: https://pypi.python.org/pypi/blessings

但是,我收到此错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\�����\AppData\Local\Programs\Python\Python35-     32\lib\site-packages\blessings\__init__.py", line 5, in <module>
    import curses
  File "C:\Users\�����\AppData\Local\Programs\Python\Python35-32\lib\curses\__init__.py", line 13, in <module>
    from _curses import *
ImportError: No module named '_curses'

我的系统是win10 x64。


8785
2018-03-07 17:42


起源

尝试这个 诅咒 Windows的实现。 - eryksun
我在Windows 7上遇到了同样的问题,我正在寻找一种解决方法。自述文件中提到的部分 colorama 在Windows上使用意味着该库以某种方式在Windows上运行。我对Python有点新意,所以我不确定在try / except结构中包装import语句是否是一种有效的方法,但我正在研究它。另外,FYI,可以确认叉子了 blessings 叫 blessed 有同样的问题(v1.6)。 - Adam P
@AdamP更新,自述文件 blessed 模块与祝福模块的语句略有不同,它明确表明该模块在Windows命令提示符下不起作用:“Blessed不提供... Windows命令提示符支持。一个PDCurses构建的python for windows仅提供部分目前支持 - 有计划与ansi模块合并以colorama为基础来解决这个问题。欢迎补丁!“ - Adam P
@eryksun你如何让这个实现运行? - SirJames
你的意思是如何安装轮组件?使用 pip install curses‑2.2‑cp35‑none‑win32.whl 或者您尝试安装的车轮的文件名。 - eryksun


答案:


curses 不支持模块 Windows 机器。从模块文档:

虽然curses在Unix环境中使用最为广泛,但版本却是如此   适用于DOS,OS / 2以及其他可能的系统。这个   扩展模块旨在匹配ncurses的API,一个   Linux上托管的开源curses库和BSD的变种   Unix的。

安装非官方的Windows二进制文件 curses 从 这里 然后再试一次。


8
2018-03-07 18:31



这是否意味着我不能在窗口上使用祝福库? - Nazarii Morhun


同时 - Windows 10上的Python 2.7.15 - curses支持可以通过以下方式添加:

pip install windows-curses

3
2018-05-25 12:24





这是Windows上的一个已知错误。它已经开放了5年,所以不要屏住呼吸。

非官方的 curses 构建是不够的,因为它也需要 fcntl,不太可能很快移植。


0
2017-11-24 16:08