首页 > 解决方案 > Python包版本满意,但没有出现

问题描述

当我运行命令时:

sudo pip3 install seaborn==0.11.1

我得到:

Requirement already satisfied: seaborn==0.11.1 in /usr/local/lib/python3.8/dist-packages (0.11.1)

但是,当我检查 python3 中的版本时,我得到:

$ python3
Python 3.8.5 (default, Jan 27 2021, 15:41:15) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import seaborn as sns
>>> sns.__version__
'0.10.1'

我该如何解决这个问题,我对 python 包有什么不了解的地方?

编辑:从安装命令中删除 sudo 解决了这个问题,非常感谢!

当我们谈到这个话题时:为什么安装 withsudo apt install python3-<package>也会使软件包可用于user,而sudo pip3 install <package>不能?

标签: pythonpython-3.xpipseabornversion

解决方案


您正在以 root 身份安装软件包,但以用户身份运行 python3。

以用户身份安装软件包:pip3 install seaborn==0.11.1 --userpython3以用户身份运行。

以 root 身份安装包:pip3 install seaborn==0.11.1sudo python3以 root 身份运行。

关于评论中的第二个问题

为什么使用 sudo apt install python3- 安装也会使软件包可供用户使用,而 sudo pip3 install 却没有?

apt为所有用户安装,因为它们没有安装在特定用户的主文件夹中,而是安装在 usr 文件夹中。每个用户都将在其帐户中拥有自己的文件以保存偏好和数据,但以访客身份登录的任何用户除外,因为他们的数据在注销时会被删除。

pip3没有为所有可用用户安装的问题可能与umask,尝试卸载软件包pip3 uninstall seaborn,更改 umask cd ~ && umask 022,再次以 root 身份安装sudo pip3 install seaborn==0.11.1

umask是一个设置文件/目录默认访问权限的命令,你可以在这里阅读更多


推荐阅读