問題
最近在學習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就獲勝):