当尝试导入blessings时出现ImportError: No module named '_curses'

38

我正在尝试运行这个代码:

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。


4
尝试使用这个适用于Windows的curses实现。 - Eryk Sun
我在Windows 7上遇到了完全相同的问题,正在寻找解决方法。自述文件中提到在Windows上使用colorama的部分似乎意味着该库在某种程度上可以在Windows上工作。我对Python有点陌生,所以不确定将导入语句包装在try / except结构中是否是有效的方法,但我正在研究它。此外,FYI,可以确认名为blessedblessings分支也存在相同的问题(v1.6)。 - Adam P
@AdamP 更新,blessed 模块的自述文件与 blessings 模块有略微不同的陈述,明确指出该模块不支持 Windows 命令提示符:"Blessed 不提供 ……Windows 命令提示符支持。目前,为 Windows 构建的 PDCurses 仅提供部分支持——计划与 colorama 协作合并 ansi 模块以解决此问题。欢迎提交补丁!" - Adam P
@eryksun,您如何让该实现运行? - SirJames
你是指如何安装wheel包吗?使用pip install curses-2.2-cp35-none-win32.whl或者你要安装的wheel文件名。 - Eryk Sun
5个回答

53

同时,在Windows 10上使用Python 2.7.15,可以通过以下方式添加curses支持:

pip install windows-curses

8
此外,我在运行Python 3.5.3的Windows 10上成功地使用了这个方法。 - J.B
在我的电脑上,使用运行 CPython 3.7.4 的 Windows 7 系统可以正常工作。 - Solomon Ucko
1
在控制台中可以运行,但在大多数IDE(如PyCharm)中失败。 - drgrujic
在 Windows 10 x64 上工作,使用 Python v3.8.5。 - Meqdad Dev
不支持Python3.10和Windows 10。 - aanginer
2
适用于Python3.10.2,Windows 10。 - Steven Teglman

15

curses 模块不支持在 Windows 上运行。根据模块文档:

尽管 curses 主要用于 Unix 环境中,但其版本也适用于 DOS、OS/2 和其他一些系统。这个扩展模块的设计目的是匹配 ncurses 的 API,后者是一个在 Linux 和 BSD 变种 Unix 上托管的开源 curses 库。

请从 此处 安装非官方的 curses Windows 二进制文件,然后再尝试。


这是否意味着我不能在Windows上使用Blessings库? - Nazarii Morhun

9

你所需的只是下载该库

pip install windows-curses

3

这是一个已知的Windows漏洞。它已经存在了5年,所以不要抱太大希望。

非官方的curses构建并不足够,因为它还需要fcntl,这在不久的将来不太可能被移植。


1

首先使用pip安装curses,如下所示 打开命令提示符

输入"pip install windows-curses"(仅当pip已在环境变量中安装时才有效)

如果在Pycharm中运行curses无效,请尝试其他解释器应用程序,如Atom、Visual Studios,如果仍然无效,请在环境变量中安装Python(链接将在底部提供)。然后启动CMD或命令提示符,输入"python(.py文件的根目录)" (例如:python C:\Users\user\Plane.py),然后按回车键。

安装Python到环境变量的链接 - https://www.youtube.com/watch?v=1jyOHCTgWpg


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接