简体   繁体   English

使用 pip 更新 virtualenv 中的 matplotlib

[英]Updating matplotlib in virtualenv with pip

I am trying to update my matplotlib in virtualenv and now it seems everything crashed :(我正在尝试在 virtualenv 中更新我的matplotlib ,现在似乎一切都崩溃了:(
what I did till now is basically,到目前为止我所做的基本上是,

source ~/myenv/bin/activate
pip install -U matplotlib

I had previously matplotlib 1.3 now if I activate py virtual environment and check the matplotlib version it shows 2.1如果我激活 py 虚拟环境并检查它显示2.1matplotlib version ,我以前有matplotlib 1.3

but I cannot import Axes3D from matplotlib.但我无法从 matplotlib 导入Axes3D

>>> import importlib
>>> importlib.import_module('mpl_toolkits.mplot3d').__path__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/nld/python-2.7.6-freya/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/usr/vir_python/lib/python2.7/site-packages/mpl_toolkits/mplot3d/__init__.py", line 6, in <module>
    from .axes3d import Axes3D
  File "/home/usr/vir_python/lib/python2.7/site-packages/mpl_toolkits/mplot3d/axes3d.py", line 32, in <module>
    from matplotlib.cbook import _backports
ImportError: cannot import name _backports

I working on linux platform and using Python 2.7.我在 linux 平台上工作并使用 Python 2.7。

Further problem, I saw,进一步的问题,我看到了,

If I just open virtual python, without activating the virtualenv, I get matplotlib 2.1如果我只打开 virtual python,而不激活 virtualenv,我会得到matplotlib 2.1

$:~> myenv/bin/python 
Python 2.7.6 (default, Apr 15 2014, 11:17:36) 
[GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
>>> matplotlib.__version__
'2.1.0'

but if I activate the virtual environment and then open the virtual python with I get matplotlib 1.3.1 or old matplotlib.但是如果我激活虚拟环境,然后用我得到matplotlib 1.3.1或旧的 matplotlib 打开虚拟 python。

$:~> source myenv/bin/activate
(vir_python)$:~> myenv/bin/python
Python 2.7.6 (default, Apr 15 2014, 11:17:36) 
[GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
>>> matplotlib.__version__
'1.3.1'

I did the following as per Karthik's suggestion :我按照 Karthik 的建议做了以下操作:

First activated the virtual python先激活虚拟python

(vir_python) $: pip install matplotlib==2.1.0
(vir_python) $: pip freeze
backports.functools-lru-cache==1.4
backports.ssl-match-hostname==3.4.0.2
cycler==0.10.0
imageio==2.1.2
Jinja2==2.7.2
MarkupSafe==0.19
matplotlib==1.3.1
mpi4py==2.0.0
nose==1.3.1
numpy==1.12.0
olefile==0.44
pandas==0.19.2
Pillow==4.0.0
pyparsing==2.0.1
python-dateutil==2.6.0
pytz==2016.10
scipy==0.19.0
six==1.10.0
subprocess32==3.2.7
svg.path==1.1
tornado==3.2
virtualenv==1.11.4

Your virtualenv has a local matplotlib installed.您的 virtualenv 安装了本地 matplotlib。 After sourcing activate, upgrade matplotlib using采购激活后,使用升级matplotlib

pip install matplotlib==2.1.0 pip 安装 matplotlib==2.1.0

or要么

pip install --upgrade matplotlib pip install --upgrade matplotlib

plt.__version__
>> 3.0.0

this is current version of matplotlib in my system.这是我系统中 matplotlib 的当前版本。 In the terminal, give the following comments:在终端中,给出以下注释:

$source activate envname
$pip install --upgrade matplotlib

In python prompt,在 python 提示符下,

import matplotlib as plt
plt.__version__
>> 3.0.2

updates the existing version更新现有版本

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM