[英]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.