had*_*i k 3 python pip matplotlib virtualenv
我试图更新我matplotlib
的virtualenv现在似乎一切都崩溃了:(
我到现在为止做的基本上是,
source ~/myenv/bin/activate
pip install -U matplotlib
Run Code Online (Sandbox Code Playgroud)
我以前matplotlib 1.3
现在如果我激活py虚拟环境并检查matplotlib version
它显示2.1
但我无法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/jkhadka/vir_python/lib/python2.7/site-packages/mpl_toolkits/mplot3d/__init__.py", line 6, in <module>
from .axes3d import Axes3D
File "/home/jkhadka/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
Run Code Online (Sandbox Code Playgroud)
我在linux平台上工作并使用Python 2.7.
我看到了进一步的问题,
如果我只是打开虚拟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'
Run Code Online (Sandbox Code Playgroud)
但是,如果我激活虚拟环境然后用我得到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'
Run Code Online (Sandbox Code Playgroud)
根据Karthik的建议我做了以下事情:
首先激活虚拟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
Run Code Online (Sandbox Code Playgroud)
Siv*_*han 10
你的virtualenv安装了一个本地matplotlib.在激活源代码后,使用升级matplotlib
pip install matplotlib == 2.1.0
要么
pip install --upgrade matplotlib
plt.__version__
>> 3.0.0
Run Code Online (Sandbox Code Playgroud)
这是我系统中 matplotlib 的当前版本。在终端中,给出以下注释:
$source activate envname
$pip install --upgrade matplotlib
Run Code Online (Sandbox Code Playgroud)
在 python 提示符下,
import matplotlib as plt
plt.__version__
>> 3.0.2
Run Code Online (Sandbox Code Playgroud)
更新现有版本