pygame应该被pip安装到哪里?/usr/lib还是~/.local/lib?

2024-04-20 08:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

去年我在ubuntu16.04.5lts上测试CARLA,一个自动驾驶汽车模拟器,当时我已经安装了pygame。当时,pygame已经安装在/usr/lib/python2.7/dist-packages/pygame下,我在那里修复了一个文件以使其正常工作。 现在,最近我为这台机器重新安装了ubuntu16.04.5lts(只有操作系统部分),并尝试测试CARLA,发现我必须安装pygame(当然是这样)。所以我做了pip install pygame(没有sudo),卡拉现在又开始工作了。
但很快我发现pygame的安装位置现在不是/usr/lib/python2.7/dist-packages/pygame而是~/.local/lib/python2.7/site-packages/pygame。
为什么它安装在我的本地主目录中,而不是系统目录中?(我试着用sudo安装它,但它说需求已经满足了。)
我试过python -m pip uninstall pip,但收到了下面的消息。你知道吗

 Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
You are using pip version 8.1.1, however version 19.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

我应该做pip upgrade
补充:这个问题不是关于“sudo”或“apt install”。通常在apt install中,如果我们省略sudo,它会请求根权限,而不会安装它。但是pip将它安装在~/.local下。因此,这个问题不同于建议的重复问题。你知道吗


Tags: installpipyouversionlibpackagesusrlocal
1条回答
网友
1楼 · 发布于 2024-04-20 08:27:07

首先,python -m pip uninstall pip是要卸载pip,而不是pygame,所以您不想这样做。你知道吗

当用sudo调用时,pip将在/usr/lib上安装系统范围的库,因此所有用户都可以访问它们。你知道吗

当调用而不使用sudo和/或使用 user标志时,它们只为用户安装在主目录中。在这两种情况下,pip都会将库报告为已安装,无需重新安装。看看triplee提供的链接,以及here

您可以使用以下方法来验证Python是否查看这两个路径以查找可用的库。你知道吗

import sys
print(sys.path)

为了说明你的观点,这两个地点都很好,只是偏好的问题。你知道吗

如果您想从~/.local卸载pygame,您应该尝试pip uninstall pygame,然后再次使用sudo pip install pygame,以进行系统范围的静态版本安装。你知道吗

在我看来,最好在本地收集用户依赖项,这样每个用户都可以根据自己的需求自由地安装/删除/更新库和模块,最好是在自己的Virtual Environment中。你知道吗

相关问题 更多 >