如何在ubuntu上使用pip升级python3的matplotlib?

如何在ubuntu上使用pip升级python3的matplotlib?,matplotlib,plot,julia,upgrade,Matplotlib,Plot,Julia,Upgrade,我在Ubuntu 16.04.4 LTS上。目前正在学习朱莉娅。Julia使用PyPlot作为绘图的后端。PyPlot需要在系统上安装Python和matplotlib 我的Ubuntu同时安装了Python(2和3)。我使用以下命令安装了matplotlibsudo apt get install python3 matplotlib。我检查了matplotlib版本,它是matplotlib 1.5.1。但是当我尝试使用PyPlot作为后端进行绘图时julia>PyPlot() Julia的

我在Ubuntu 16.04.4 LTS上。目前正在学习朱莉娅。Julia使用PyPlot作为绘图的后端。PyPlot需要在系统上安装Python和matplotlib

我的Ubuntu同时安装了Python(2和3)。我使用以下命令安装了matplotlib
sudo apt get install python3 matplotlib
。我检查了matplotlib版本,它是matplotlib 1.5.1。但是当我尝试使用PyPlot作为后端进行绘图时
julia>PyPlot()

Julia的输出是:警告:您正在使用Matplotlib 1.5.1,Plots社区不再正式支持它。为确保Plots.jl集成的顺利进行,请将Matplotlib库更新为>=2.0.0版本

因此,我尝试使用pip升级matplotlib,它说我的matplotlib版本是最新的。从pip命令的输出来看,sudo pip install--upgrade matplotlib是:

目录“/home/yousuf/.cache/pip/http”或其父目录不属于当前用户,缓存已被禁用。请检查该目录的权限和所有者。如果使用sudo执行pip,您可能需要sudo的-H标志。 当前用户不拥有目录“/home/yousuf/.cache/pip”或其父目录,并且已禁用缓存控制盘。检查该目录的权限和所有者。如果使用sudo执行pip,您可能需要sudo的-H标志。 需求已经更新:matplotlib位于/usr/local/lib/python2.7/dist-packages中 已更新的要求:numpy>=1.7.1 in/usr/local/lib/python2.7/dist-packages(来自matplotlib) 已更新的要求:六个>=1.10 in/usr/local/lib/python2.7/dist-packages(来自matplotlib) 需求已经是最新的:python dateutil>=2.1 in/usr/local/lib/python2.7/dist-packages(来自matplotlib) 要求已经更新:backports.functools\u lru\u缓存在/usr/local/lib/python2.7/dist-packages中(来自matplotlib) 需求已经是最新的:子流程32位于/usr/local/lib/python2.7/dist-packages中(来自matplotlib) 需求已经更新:pytz in/usr/local/lib/python2.7/dist-packages(来自matplotlib) 要求已更新:cycler>=0.10 in/usr/local/lib/python2.7/dist-packages(来自matplotlib) 需求已经是最新的:pyparsing=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in/usr/local/lib/python2.7/dist-packages(来自matplotlib)


从这个输出看来,pip试图升级Python2的matplotlib,1.5.1是它的最新版本。但是Julia和PyPlot在我设置使用Python3时使用了它。

我通过使用pip3找到了解决方案。 要在Ubuntu上安装pip3:

sudo apt install python3-pip
现在使用pip3升级Python 3.x.x的matplotlib:

sudo pip3 install --upgrade matplotlib

sudo apt-get update

很好。如果使用
apt get
安装
matplotlib
,则不应干扰已安装的版本。我的意思是,您不应该
sudo pip3安装--升级matplotlib
,因为这可能会在以后
sudo apt获得dist升级时产生其他副作用

您最好使用
pip3安装--user--upgrade matplotlib
将软件包保存在本地
/home/.local/{bin,lib等,正确地共享}
文件夹中。这样,您的python发行版将使用安装的最新软件包,以后您的软件包管理器将不会有任何问题


编辑。
sudo apt get update
不更新任何软件包。它只是更新包管理器的缓存,即获取Ubuntu提供的包的最新版本信息
sudo apt get dist升级
将安装所有更新。此命令可能会产生一些副作用,例如出现故障和/或更换您的
sudo pip3安装--upgrade matplotlib
安装版本的
matplotlib
。通常,在系统级安装软件包时,最好让软件包管理器完成其工作。

首先,使用以下方法卸载旧版本:

pip uninstall matplotlib
pip install matplotlib
然后,使用以下工具安装最新版本:

pip uninstall matplotlib
pip install matplotlib
Matplotlib将更新为最新版本。您可以使用以下方法进行检查:

pip list

Plots.jl的推荐后端是GR。我会先尝试一下。对于pip,您不应该同时使用sudo和选项--user。否则,主目录中的文件将属于root用户。@Alex338207,Opps。我的错误。这不是我运行的命令,实际的命令是“sudopip安装——升级matplotlib”。我已经更新了问题的细节。@Chris Rackauckas,GR的意思是牛虻?我的指令要求我使用PyPlot作为后端。不,GR意味着使用GR.jl后端进行Plots.jl。它是Plots.jl的推荐后端,几天后将成为默认后端(它有一个闪亮的新终端)。我很惊讶PyPlot会被你的导师所青睐。