去年我在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下。因此,这个问题不同于建议的重复问题。你知道吗
首先,
python -m pip uninstall pip
是要卸载pip,而不是pygame
,所以您不想这样做。你知道吗当用
sudo
调用时,pip将在/usr/lib
上安装系统范围的库,因此所有用户都可以访问它们。你知道吗当调用而不使用sudo和/或使用
user
标志时,它们只为用户安装在主目录中。在这两种情况下,pip
都会将库报告为已安装,无需重新安装。看看triplee提供的链接,以及here您可以使用以下方法来验证Python是否查看这两个路径以查找可用的库。你知道吗
为了说明你的观点,这两个地点都很好,只是偏好的问题。你知道吗
如果您想从
~/.local
卸载pygame
,您应该尝试pip uninstall pygame
,然后再次使用sudo pip install pygame
,以进行系统范围的静态版本安装。你知道吗在我看来,最好在本地收集用户依赖项,这样每个用户都可以根据自己的需求自由地安装/删除/更新库和模块,最好是在自己的Virtual Environment中。你知道吗
相关问题 更多 >
编程相关推荐