Anaconda 中安裝 pygame

上課是使用 Anaconda 環境,因為可以省去安裝很多 package,並可由 Navigator 這個介面來方便管理。但總是無法在 Navigator 中直接安裝 pygame ,於是花了一點點時間研究

先做了一些功課:

  • 這個影片是說 pygame 與 Python 3.8 不相容,所以要用 Python 3.7.1。此影片直接安裝 Python,再用 command prompt 中用 pip install pygame 安裝 2.0.1
    https://youtu.be/X_io0GD7qrY

  • 另一個影片安裝 Python 時就是 3.7.4,也是用 pip install pygame 安裝 1.9.6
    https://youtu.be/EKjALzLLgVs

  • 比較新的影片直接安裝 Python 3.9.4 後,再用 pip install pygame 安裝 2.0.1
    https://youtu.be/Y4Jn0UCqY28

Anaconda 工作環境

但看了這麼多,都沒有人提到在 Anaconda 環境下的安裝而網路查了一下,似乎也沒有正解。於是為確保相容性,就用 Anaconda Navigator 建立一個基於 Python 3.7.11 的工作環境 (pygame),之後直接在 Navigator 中安裝 pygame (1.9.2a0) ,但卻出現:

UnsatisfiableError: The following specifications were found

to be incompatible with the existing python installation in your environment:


Specifications:


- pygame -> python[version='2.7.*|3.5.*']


Your python: python=3.7

發現新環境中也沒有 “CMD.exe Prompt” 於是便先點擊安裝,完成後利用它開啟 command prompt,再執行 pip install pygame,便能安裝 pygame 2.1.2 了。

(pygame) C:\Users\Jeff>pip install pygame

Collecting pygame

Downloading pygame-2.1.2-cp37-cp37m-win_amd64.whl (8.4 MB)

|████████████████████████████████| 8.4 MB 6.4 MB/s

Installing collected packages: pygame

Successfully installed pygame-2.1.2

回頭看 Navigator 中 pygame 已更新至 2.1.2

Navigator中已安裝pygame 2.1.2

最後發現,新環境中也沒裝 Spyder,於是在 Navigator 中安裝 5.1.5 (與base環境中版本相同),利用此處的 Spyder 可以執行 pygame 所寫的遊戲。成功🎉

不建立工作環境

偶然發現 Python 3.7 與 3.9 的 pip --version 都是 21.2.4 版

pip 21.2.4 from C:\ProgramData\Anaconda3\envs\pygame\lib\site-packages\pip (python 3.7)

pip 21.2.4 from C:\ProgramData\Anaconda3\lib\site-packages\pip (python 3.9)

於是換了一台電腦,這台電腦中 Anaconda Python 是 3.8.8,先用 Navogator 升級 Python 到 3.9.7。不建立新工作環境,便直接進 command prompt 用 conda install pygame 安裝,出現 PackagesNotFoundError;但改用 pip install pygame 即可成功安裝 2.1.2。

結論

不管 Python 版本為何 (3.7, or 3.9),都不能使用 conda install pygame(雖然錯誤不同),但只要使用 pip install pygame 就可成功安裝