問題
最近在學(xué)習(xí)python的使用畏腕,在寫一個(gè)關(guān)于2048的demo時(shí)馏艾,代碼中需要引用到 curses 庫诊杆。我是在windows環(huán)境下進(jìn)行編寫的蝗锥,除去在學(xué)習(xí)過程中的各種錯(cuò)誤之后妓灌,代碼仍然運(yùn)行出錯(cuò)轨蛤。報(bào)這樣的錯(cuò)誤:
在網(wǎng)上找了很久,關(guān)于這個(gè)錯(cuò)誤的說明不是很清晰虫埂,最終解決了這個(gè)問題之后祥山,將自己解決的過程總結(jié)一下,把解決思路簡單化一些掉伏。
解決
首先這個(gè)問題產(chǎn)生的 根本原因 是 curses 庫不支持 windows缝呕。所以我們在下載完成python后(python 是自帶 curses 庫的),雖然在? python目錄\Lib? 中可以看到 curses 庫斧散,但其實(shí)我們是不能使用的供常。會(huì)產(chǎn)生如上的錯(cuò)誤。在提示的文件 __init__ 文件中也確實(shí)可以找到? from _curses import *? 這句話颅湘。
要解決這個(gè)問題话侧,我們就需要使用一個(gè) unofficial curses(非官方curses庫)來代替 python 自帶的curses庫。也就是 whl 包闯参。
用我自己的例子瞻鹏,我下載的是 python3.6.1 版本,在? python whl包下載 中找到 curses 鹿寨,然后下載與自己python版本對應(yīng)的 whl 包(如我的就是 curses-2.2-cp36-cp36m-win32.whl)新博,我是windows7-64bit,我開始以為需要下載 amd64 的版本脚草,經(jīng)測試發(fā)現(xiàn)使用那個(gè)版本時(shí)在安裝的時(shí)候會(huì)報(bào)一個(gè)環(huán)境不支持的錯(cuò)誤赫悄,換了這個(gè)之后就對了。
首先確保你的Python已經(jīng)配置過Path馏慨,然后打開cmd窗口cd到下載的whl的目錄(如我的 F:\)埂淮。直接輸入命令 : pip install curses-2.2-cp36-cp36m-win32.whl。然后等待安裝成功写隶。
tip:我的已經(jīng)安裝了 wheel倔撞,如果報(bào)相關(guān)的錯(cuò)誤可以嘗試先安裝一下 wheel 庫再安裝 whl:pip install wheel。(wheel是和pip一樣的工具慕趴,可以在 Python\Scripts 目錄下查看)
結(jié)果
安裝成功之后就可以順利的使用 curses 庫了痪蝇。開心氨啥浮(?^?^)?....我的 2048 也終于跑了起來。附一張效果圖(我設(shè)置了32就獲勝):