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

问题描述 投票:0回答:2

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

我的Ubuntu安装了Python(2和3)。我使用这个命令sudo apt-get install python3-matplotlib安装了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标志。要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的matplotlib要求已经是最新的:/usr/local/lib/python2.7/中的numpy> = 1.7.1 dist-packages(来自matplotlib)要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的六> = 1.10(来自matplotlib)要求已经是最新的:python-dateutil> /usr/local/lib/python2.7/dist-packages中的= 2.1(来自matplotlib)要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的backports.functools_lru_cache(来自matplotlib) )要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的subprocess32(来自matplotlib)要求已经是最新的:/usr/local/lib/python2.7/中的pytz dist-packages(来自matplotlib)要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的cycler> = 0.10(来自matplotlib)要求已经是最新的:pyparsing!= 2.0 /usr/local/lib/python2.7/dist-packages中的.4,!= 2.1.2,!= 2.1.6,> = 2.0.1(来自matplotlib)

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

matplotlib plot julia upgrade
2个回答
1
投票

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

sudo apt install python3-pip

现在使用pip3为Python 3.x.x升级matplotlib:

sudo pip3 install --upgrade matplotlib

sudo apt-get update

你已准备好出发。


1
投票

如果使用matplotlib安装apt-get,则不应干扰已安装的版本。我的意思是你不应该sudo pip3 install --upgrade matplotlib,因为这可能会有你的sudo apt-get dist-upgrade以后的其他副作用。

你最好使用pip3 install --user --upgrade matplotlib将软件包保存在你当地的/home/<user>/.local/{bin,lib,etc,share}文件夹中。这样,您的python发行版将使用安装的最新软件包,您的软件包管理器将在以后不会遇到任何麻烦。

编辑。 sudo apt-get update不会更新任何包裹。它只是更新包管理器的缓存,即通过Ubuntu获取所提供包的最新版本信息。 sudo apt-get dist-upgrade将安装所有更新。此命令可能有副作用,如失败和/或替换你的sudo pip3 install --upgrade matplotlib安装版本的matplotlib。通常,在系统级别安装软件包时,让软件包管理器完成其工作是一种很好的做法。

© www.soinside.com 2019 - 2024. All rights reserved.