Python 使用curses庫貪吃蛇小游戲走過的坑
- 介紹
- 引入自定義模塊并同級呼叫
- Windows的curses庫下載
- Redirection is not supported.
- conda環境下的報錯
介紹
在Github上發現了這個貪吃蛇小專案想當做練手貪吃蛇專案,沒想到光是讓它跑起來就踩了無數的坑,如果你也遇到這些問題,希望對你有所幫助,
引入自定義模塊并同級呼叫
在從Github上下載了該專案后,要把它作為一項自定義模塊引入,我選擇的方法是在venv\Lib\site-packages下新建一個mymodule.pth路徑檔案存入所有自定義模塊,路徑檔案內寫入自定義模塊所在檔案夾的絕對路徑,具體參考文章:引入自定義模塊的三種方法

–init–檔案指明它為一個可參考的模塊,是必需要的,接下來其余幾個.py檔案中有相互的同級呼叫,如game.py中會呼叫game_config,這里需要使用from snake(包名) import game_config而不能直接import game_config,否則會報錯‘No module named 'game_config’,其余.py檔案中的同級參考同樣需要改成這樣的格式,具體參考文章:自定義模塊同級呼叫
Windows的curses庫下載
其實Windows并不支持curses庫,所以你會看到‘No module named _curses’,這就需要下載非官方替代庫unofficial-curses(下載地址在這里curses)找到適配自己電腦版本的.whl檔案并下載,再通過pip install G:\mypymodule\curses-2.2.1+utf8-cp38-cp38-win_amd64.whl(這是我的資訊-win10.64bit,python3.8)安裝,如果不確定自己的電腦版本請在命令列中運行python -m pip debug –verbose查看適用的版本,具體參考文章:查看適用版本
Redirection is not supported.
如果也和我一樣遇到這個新鮮的錯誤“不支持重定向”,那么你肯定也是使用IDE而非命令列運行該專案,但實際上不能用任何IDE來運行有curses包的python檔案,我在pycharm里跑的,自然跑不起來(也許你也是 ),具體參考文章:不能用IDE運行curses
那么現在需要打開命令列(我一般是win+R,輸入cmd回車),用指令cd切換到你的python安裝環境下具體到Scripts(因為幾乎大家的pip.exe都默認在該檔案夾,我的是C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts)再用pip install G:\mypymodule\curses-2.2.1+utf8-cp38-cp38-win_amd64.whl進行下載,具體參考文章:在cmd中使用pip install,這時候再切換到根目錄并輸入指令python "main.py的絕對路徑"回車運行即可,大部分人到這一步就可以把貪吃蛇小專案跑起來了,
conda環境下的報錯
如果你不幸地在pip install正確的輪子檔案后還是報錯“No module named ‘_curses’ ”,那么也許你和我一樣安裝了多個環境并且你的python正處于conda環境,若提示“This Python interpreter is in a conda environment, but the environm ent has not been activated”那么你還需要先激活你的環境,具體參考文章:激活conda環境,
此時你當然想直接conda install 剛才下載好的.whl檔案(還是要切換到Scripts檔案夾下),但是你會發現它并不適用,報錯“PackagesNotFoundError: The following packages are not available from current channels”,可惡!解決辦法為先運行anaconda search -t conda curses查詢所有版本 選擇適合自己的(適配Windows的真的好少)再conda install -c https://conda.anaconda.org/labscript-suite windows-curses下載即可(這個連接版本是我試出來確認可用的可以直接復制這句話),具體參考文章:conda環境安裝curses庫,安裝好后就可以將貪吃蛇跑起來拉~
整個流程中還有別的問題也歡迎留言~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/323256.html
標籤:其他
