簡體   English   中英

安裝 `pygame` 出現 Pip 問題

[英]Install `pygame` with Pip problems

When I run python -V on terminal, it outputs Python 3.8.0 but whenever I try to install a library with pip, it always downloads to Python 3.7.

For example, when I run pip3 install pygame , it outputs Requirement already satisfied: pygame in /usr/local/lib/python3.7/site-packages (1.9.6) but when I test it with import pygame , it returns ModuleNotFoundError: No module named 'pygame'

我想我錯誤地安裝了 Python 3.8? 我一直在使用舊版本的 python 到目前為止沒有任何問題,我嘗試使用 pyenv 安裝 python 3.8,從那時起我就遇到了這個問題。

我的 pip 已更新: Requirement already up-to-date: pip in /usr/local/lib/python3.7/site-packages (20.0.2)

PS是只有我還是你們在您的用戶庫和Macintosh HD庫中有兩個名為Python的文件夾? 此外,3.7.7 指的是Macintosh HD/ussr/local/Cellar/python上完全不同的文件夾……這正常嗎?

編輯: pip3 --version pip 20.0.2 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

編輯 2:嘗試使用venv 一個很長的錯誤...(下面的錯誤信息只是實際錯誤信息的最后一部分)

ERROR: Command errored out with exit status 1: /Users/username/my_venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/g3/8kbv7g411r32xwzp2681_s540000gn/T/pip-install-ywfy_s_y/pygame/setup.py'"'"'; __file__='"'"'/private/var/folders/g3/8kbv7g411r32xwzp2681_s540000gn/T/pip-install-ywfy_s_y/pygame/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/g3/8kbv7g411r32xwzp2681_s540000gn/T/pip-record-fxa7km57/install-record.txt --single-version-externally-managed --compile --install-headers /Users/username/my_venv/include/site/python3.8/pygame Check the logs for full command output.

Edit 3: I just tried reinstalling numpy & pandas & matplotlib, it works with pip3.8 install <library> but pygame doesn't work. 這可能是pygame的錯嗎?

編輯4:沒關系,我想通了。 Apparently pygame dev 3 wasn't out when Python 3,8 was released, so I have to modify my command to dev 6 with python3 -m pip install pygame==2.0.0.dev6 ... I don't know why it默認情況下不會獲取最新版本,但它可以工作,所以感謝您的幫助和時間!

你能試一下嗎

pip3 --version

通過這樣做你會知道,pip3 鏈接到哪個 python 解釋器。 我認為你的 pip3 是為 python3.7 安裝的

如果你想在 python3.8 中安裝 pygame,我建議為 Python3.8 創建一個 virtualenv 並在那里安裝 pygame。

要為 Python3.8 創建 virtualenv,您可以嘗試以下命令;

# Create a virtualenv 
virtualenv -p /usr/bin/python3.8 venv38

# acticate the enviroment
source venv38/bin/activate

# now you can see somethi like

(venv38) user@mycomputer:~/Desktop/

# install pygame
pip install pygame

如果您需要更多幫助,請告訴我。

:)

我曾經在 Tensorflow 遇到過類似的問題,很可能您的系統中同時擁有 python 的兩個版本。

刪除舊版本並將最新版本添加到路徑中。 如果這不起作用,您可能會考慮重新安裝。

發布此問題以關閉問題,因為我在編輯 4 后收到了評論。

Apparently pygame dev 3 wasn't out when Python 3.8 was released, so I have to modify my command to dev 6 with python3 -m pip install pygame==2.0.0.dev6 ... I don't know why it doesn'默認情況下獲取最新版本,但它可以工作。

您通常應該使用venv庫來避免沖突和版本問題。 在您的情況下,您應該使用選擇的 Python 解釋器創建虛擬環境,然后激活它,然后安裝 package:

$ python -m venv my_venv
$ source my_venv/bin/activate
(venv)$ pip install pygame

嘗試使用 Python 3.7.7 創建一個 venv。 沒有任何其他配置,這對我來說很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM