问题描述
我按照说明从此处安装python 3的matplotlib:
I followed the instructions to install matplotlib for python 3 from here: How to install matplotlib with Python3.2
但是在导入pyplot时出现了一个我无法解决的ImportError:
But I get an ImportError, which I have not been able to resolve, when importing pyplot:
>>> import matplotlib
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/dist-packages/matplotlib-1.4.x-py3.2-linux-i686.egg/matplotlib/pyplot.py", line 98, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python3.2/dist-packages/matplotlib-1.4.x-py3.2-linux-i686.egg/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
File "/usr/local/lib/python3.2/dist-packages/matplotlib-1.4.x-py3.2-linux-i686.egg/matplotlib/backends/backend_gtk3agg.py", line 1, in <module>
import cairo
ImportError: No module named cairo
我尝试了 matplotlib.use('Agg')
和 matplotlib.use('GTK')
在导入pyplot之前,但它们没有做出改变。
I have tried matplotlib.use('Agg')
and matplotlib.use('GTK')
before import pyplot, but they don't make a difference.
任何帮助将不胜感激,谢谢。
Any help would be much appreciated, thanks.
编辑:
这表明我具有所有必需的依赖项。
This shows that I have all the required dependencies.
jack@hostname:~/installs/matplotlib$ sudo python3 setup.py --keywords
============================================================================
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [1.4.x]
python: yes [3.2.3 (default, Apr 10 2013, 05:29:11) [GCC
4.6.3]]
platform: yes [linux2]
REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [version 1.6.1]
dateutil: yes [using dateutil version 2.1]
tornado: yes [using tornado version 3.1]
pyparsing: yes [using pyparsing version 2.0.0]
pycxx: yes [Official versions of PyCXX are not compatible
with Python 3.x. Using local copy]
libagg: yes [pkg-config information for 'libagg' could not
be found. Using local copy.]
freetype: yes [version 14.0.8]
png: yes [version 1.2.46]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
toolkits: yes [installing]
tests: yes [using nose version 1.3.0]
OPTIONAL BACKEND EXTENSIONS
macosx: no [Mac OS-X only]
qt4agg: no [PyQt4 not found]
gtk3agg: yes [gtk3agg backend does not work on Python 3]
gtk3cairo: no [Requires cairo to be installed.]
gtkagg: no [Requires pygtk]
tkagg: yes [version version not identified]
wxagg: no [requires wxPython]
gtk: no [Requires pygtk]
agg: yes [installing]
cairo: no [cairo not found]
windowing: no [Microsoft Windows only]
OPTIONAL LATEX DEPENDENCIES
dvipng: yes [version 1.14]
ghostscript: yes [version 9.05]
latex: yes [version 3.1415926]
pdftops: yes [version 0.18.4]
推荐答案
问题原因在mac os图像渲染中,matplotlib的后端(使用后端渲染的是什么)默认情况下为可可的API)。有Qt4Agg和GTKAgg,作为后端不是默认值。设置与其他Windows或linux操作系统相比不同的macosx后端。
Problem Cause In mac os image rendering back end of matplotlib (what-is-a-backend to render using the API of Cocoa by default). There is Qt4Agg and GTKAgg and as a back-end is not the default. Set the back end of macosx that is differ compare with other windows or linux os.
我按照以下方式解决了此问题:我假设您已经安装了pip matplotlib,您根目录中的目录称为〜/。 matplotlib。在其中创建一个名为matplotlibrc的文件,然后执行以下代码
I resolve this issue following ways I assume you have installed the pip matplotlib, there is a directory in you root called ~ /. matplotlib. Create a file called matplotlibrc there and following code
~ / .matplotlib / Matplotlibrc
backend: TkAgg
这篇关于无法在python 3中导入matplotlib.pyplot的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!