pip 应该把 pygame 安装在哪里? /usr/lib 或 ~/.local/lib?
where should pygame be installed by pip? /usr/lib or ~/.local/lib?
去年我在 ubuntu 16.04.5 LTS 上测试自动驾驶汽车模拟器 CARLA,那时我已经安装了 pygame。当时 pygame 已安装在 /usr/lib/python2.7/dist-packages/pygame 下,我在那里修复了一个文件以使其正常工作。
现在,最近我为机器重新安装了 ubuntu 16.04.5 LTS(只有 OS 部分)并尝试测试 CARLA,发现我必须安装 pygame(这是当然的) .所以我做了 pip install pygame
(没有 sudo),CARLA 现在又可以工作了。
但是很快我发现pygame的安装位置现在不是/usr/lib/python2.7/dist-packages/pygame而是~/.local/lib/python2.7/site-packages/pygame.
为什么它安装在我本地的家目录下,而不是系统目录下? (我尝试用 sudo 安装它,但它说 Requirement alread satisfied。)
我尝试了 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
,它会要求root权限并且不会安装它。但是 pip 将它安装在 ~/.local 下。因此这个问题不同于建议的重复问题。
首先,python -m pip uninstall pip
是用来卸载 pip,而不是 pygame
,因此您不会 想要那样做。
当使用 sudo
调用时,pip 将在 /usr/lib
上安装系统范围内的库,因此所有用户都可以访问它们。
当调用 时不使用 sudo and/or 并带有 --user
标志,它们仅为您的用户安装在您的主目录中。在任何一种情况下,pip
都会报告库已安装,不需要重新安装。看看triplee提供的link,还有
您可以使用以下内容来验证 Python 查看这两个路径以找到可用的库。
import sys
print(sys.path)
针对您的观点,这两个位置都很好,这只是偏好问题。
如果您想从 ~/.local
卸载 pygame
,您应该尝试 pip uninstall pygame
,然后再次使用 sudo pip install pygame
,以进行系统范围的静态版本安装.
在我看来,最好在本地收集用户依赖项,这样每个用户都可以根据自己的需要自由 install/remove/update 库和模块,最好是在他的 Virtual Environment.
去年我在 ubuntu 16.04.5 LTS 上测试自动驾驶汽车模拟器 CARLA,那时我已经安装了 pygame。当时 pygame 已安装在 /usr/lib/python2.7/dist-packages/pygame 下,我在那里修复了一个文件以使其正常工作。
现在,最近我为机器重新安装了 ubuntu 16.04.5 LTS(只有 OS 部分)并尝试测试 CARLA,发现我必须安装 pygame(这是当然的) .所以我做了 pip install pygame
(没有 sudo),CARLA 现在又可以工作了。
但是很快我发现pygame的安装位置现在不是/usr/lib/python2.7/dist-packages/pygame而是~/.local/lib/python2.7/site-packages/pygame.
为什么它安装在我本地的家目录下,而不是系统目录下? (我尝试用 sudo 安装它,但它说 Requirement alread satisfied。)
我尝试了 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
,它会要求root权限并且不会安装它。但是 pip 将它安装在 ~/.local 下。因此这个问题不同于建议的重复问题。
首先,python -m pip uninstall pip
是用来卸载 pip,而不是 pygame
,因此您不会 想要那样做。
当使用 sudo
调用时,pip 将在 /usr/lib
上安装系统范围内的库,因此所有用户都可以访问它们。
当调用 时不使用 sudo and/or 并带有 --user
标志,它们仅为您的用户安装在您的主目录中。在任何一种情况下,pip
都会报告库已安装,不需要重新安装。看看triplee提供的link,还有
您可以使用以下内容来验证 Python 查看这两个路径以找到可用的库。
import sys
print(sys.path)
针对您的观点,这两个位置都很好,这只是偏好问题。
如果您想从 ~/.local
卸载 pygame
,您应该尝试 pip uninstall pygame
,然后再次使用 sudo pip install pygame
,以进行系统范围的静态版本安装.
在我看来,最好在本地收集用户依赖项,这样每个用户都可以根据自己的需要自由 install/remove/update 库和模块,最好是在他的 Virtual Environment.