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