Python 使用 pip 更新 virtualenv 中的 matplotlib
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/47595091/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Updating matplotlib in virtualenv with pip
提问by hadi k
I am trying to update my matplotlib
in virtualenv and now it seems everything crashed :(
what I did till now is basically,
我正在尝试matplotlib
在 virtualenv 中更新我的,现在似乎一切都崩溃了:(
到目前为止我所做的基本上是,
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
我以前matplotlib 1.3
现在如果我激活 py 虚拟环境并检查matplotlib version
它显示2.1
but I cannot import Axes3D
from matplotlib.
但我无法Axes3D
从 matplotlib导入。
>>> 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
如果我只打开虚拟 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
回答by Sivaswami Jeganathan
Your virtualenv has a local matplotlib installed. After sourcing activate, upgrade matplotlib using
您的 virtualenv 安装了本地 matplotlib。采购激活后,使用升级matplotlib
pip install matplotlib==2.1.0
pip 安装 matplotlib==2.1.0
or
或者
pip install --upgrade matplotlib
pip install --upgrade matplotlib
回答by Akshaya Natarajan
plt.__version__
>> 3.0.0
this is current version of matplotlib in my system. In the terminal, give the following comments:
这是我系统中 matplotlib 的当前版本。在终端中,给出以下注释:
$source activate envname
$pip install --upgrade matplotlib
In python prompt,
在 python 提示符下,
import matplotlib as plt
plt.__version__
>> 3.0.2
updates the existing version
更新现有版本