问题
最近在学习python的使用,在写一个关于2048的demo时,代码中需要引用到 curses 库。我是在windows环境下进行编写的,除去在学习过程中的各种错误之后,代码仍然运行出错。报这样的错误:
在网上找了很久,关于这个错误的说明不是很清晰,最终解决了这个问题之后,将自己解决的过程总结一下,把解决思路简单化一些。
解决
首先这个问题产生的 根本原因 是 curses 库不支持 windows。所以我们在下载完成python后(python 是自带 curses 库的),虽然在 python目录\Lib 中可以看到 curses 库,但其实我们是不能使用的。会产生如上的错误。在提示的文件 __init__ 文件中也确实可以找到 from _curses import * 这句话。
要解决这个问题,我们就需要使用一个 unofficial curses(非官方curses库)来代替 python 自带的curses库。也就是 whl 包。
用我自己的例子,我下载的是 python3.6.1 版本,在 python whl包下载 中找到 curses ,然后下载与自己python版本对应的 whl 包(如我的就是 curses-2.2-cp36-cp36m-win32.whl),我是windows7-64bit,我开始以为需要下载 amd64 的版本,经测试发现使用那个版本时在安装的时候会报一个环境不支持的错误,换了这个之后就对了。
首先确保你的Python已经配置过Path,然后打开cmd窗口cd到下载的whl的目录(如我的 F:\)。直接输入命令 : pip install curses-2.2-cp36-cp36m-win32.whl。然后等待安装成功。
tip:我的已经安装了 wheel,如果报相关的错误可以尝试先安装一下 wheel 库再安装 whl:pip install wheel。(wheel是和pip一样的工具,可以在 Python\Scripts 目录下查看)
结果
安装成功之后就可以顺利的使用 curses 库了。开心啊(〜^㉨^)〜....我的 2048 也终于跑了起来。附一张效果图(我设置了32就获胜):