今天在学习python的时候,准备用python编写一个2048小游戏例子时,代码中需要引用到 curses 模块库。由于我是在windows环境下进行编写的,除去在学习过程中的各种错误之后,代码运行仍然出错。
哪怕我是直接复制一模一样的demo代码,也报如下这样的错误:
Traceback (most recent call last):
File "2048.py", line 3, in <module>
import curses
File "F:\Python3.7.0\lib\curses\__init__.py", line 13, in <module>
from _curses import *
ModuleNotFoundError: No module named '_curses'
上面报错大概意思是:没有名为“ _curses”的模块;
原因:
首先这个问题产生的根本原因是: curses模块库不支持 windows。所以我们在下载完成python后(python 是自带 curses 库的),虽然在 python目录\Lib 中可以看到 curses 库,但是,其实我们是不能使用的。会产生如上的错误,在提示的文件 __init__ 文件中也确实可以找到 from _curses import * 这句话。
要解决这个问题,我们就需要使用一个 unofficial curses(非官方curses库)来代替 python 自带的curses库,也就是 whl 包。
解决方法
以我自己亲身的经历为例子,我的python是 python3.7.0 版本,在 python whl包下载 中找到 curses ,然后,下载与自己python版本对应的 whl 包(例如:我的就是 curses-2.2.1+utf8-cp37-cp37m-win_amd64.whl)。
1、下载curses.wh1
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses
2、首先,确保你的Python已经配置过Path。
3、然后,打开cmd窗口,cd到下载的whl的目录(例如,我的是F:\python\80)。
4、直接输入命令 : pip install curses-2.2.1+utf8-cp37-cp37m-win_amd64.whl;然后,等待安装成功。
f:\python\80>pip install curses-2.2.1+utf8-cp37-cp37m-win_amd64.whl
注意:
由于我已经安装了 wheel,如果报相关的错误可以尝试先安装一下 wheel 库再安装 whl:
pip install wheel
wheel是和pip一样的工具,可以在 Python\Scripts 目录下查看。