无法使用 pyenv ipython notebook 导入 matplotlib

Can not import matplotlib with pyenv ipython notebook

我是一名 ruby 开发人员,我已经开始为一个项目学习 python。我安装了pyenv、pyenv virutualenv、ipython、notebook、matplotlib。除了我调用的部分

以外,一切正常
import matplotlib.pyplot as plot

然后我从笔记本上得到这个错误:

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-1-08ad587cbf6a> in <module>()
----> 1 import matplotlib.pyplot as plot

/Users/ilab/.pyenv/versions/2.7.11/envs/mlcoursera/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>()
112 
113 from matplotlib.backends import pylab_setup
--> 114 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
115 
116 _IP_REGISTERED = None

/Users/ilab/.pyenv/versions/2.7.11/envs/mlcoursera/lib/python2.7/site-packages/matplotlib/backends/__init__.pyc in pylab_setup()
 30     # imports. 0 means only perform absolute imports.
 31     backend_mod = __import__(backend_name,
---> 32                              globals(),locals(),[backend_name],0)
 33 
 34     # Things we pull in from all backends

/Users/ilab/.pyenv/versions/2.7.11/envs/mlcoursera/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py in <module>()
 22 
 23 import matplotlib
---> 24 from matplotlib.backends import _macosx
 25 
 26 

RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are Working with Matplotlib in a virtual enviroment see 'Working with Matplotlib in Virtual environments' in the Matplotlib FAQ.

任何人都可以帮助我让它工作吗?

ps:我在 python 2.7.1 上使用 pyenv。

Matplotlib 需要在 OS X 上安装框架,以便操作 GUI 元素。 您可以使用这样的命令安装框架版本,知道您的 python 版本和您的环境名称:

env PYTHON_CONFIGURE_OPTS="--enable-framework CC=clang" pyenv virtualenv <python_version> <env_name>