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

时间:2018-03-01 06:38:57

标签: matplotlib plot julia upgrade

我在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/dist-packages中的numpy> = 1.7.1(来自matplotlib) 要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的六个> = 1.10(来自matplotlib) 要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的python-dateutil> = 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/dist-packages中的pytz(来自matplotlib) 要求已经是最新的:/usr/local/lib/python2.7/dist-packages中的cycler> = 0.10(来自matplotlib) 要求已经是最新的:pusarsing!= 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设置使用它。

3 个答案:

答案 0 :(得分:1)

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

a=    {
  'status': 'success',
  'data': {
    'last_price': 1160.15,
    'volume': 2007611,
    'sell_quantity': 368654,
    'open_interest': 0,
    'last_quantity': 3,
    'change': -12.45,
    'ohlc': {
      'high': 1169.6,
      'close': 1172.6,
      'open': 1169.6,
      'low': 1156.05
    },
    'last_time': '2018-03-01 12:43:16',
    'change_percent': -1.06,
    'depth': {
      'sell': [
        {
          'price': 1160.15,
          'orders': 2,
          'quantity': 2
        },
        {
          'price': 1160.2,
          'orders': 1,
          'quantity': 1
        },
        {
          'price': 1160.25,
          'orders': 1,
          'quantity': 1
        },
        {
          'price': 1160.6,
          'orders': 1,
          'quantity': 10
        },
        {
          'price': 1160.65,
          'orders': 1,
          'quantity': 200
        }
      ],
      'buy': [
        {
          'price': 1160,
          'orders': 8,
          'quantity': 352
        },
        {
          'price': 1159.9,
          'orders': 1,
          'quantity': 1
        },
        {
          'price': 1159.85,
          'orders': 3,
          'quantity': 5
        },
        {
          'price': 1159.8,
          'orders': 2,
          'quantity': 335
        },
        {
          'price': 1159.75,
          'orders': 3,
          'quantity': 644
        }
      ]
    },
    'buy_quantity': 255199
  }
} 

b=a["data"]["last_price"]

现在使用pip3:

升级Python 3.x.x的matplotlib
sudo apt install python3-pip

你很高兴。

答案 1 :(得分: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版本。通常,在系统级别安装软件包时,最好让软件包管理器完成其工作。

答案 2 :(得分:0)

首先,使用以下命令卸载旧版本:

pip uninstall matplotlib

然后,使用以下命令安装最新版本:

pip install matplotlib

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

pip list