RuntimeError: Python is not installed as a framework

2018-9-9 孤独求学人 Python

今天在mac上,python virtualenv 虚拟环境下运行matplotlib example的时候提示如下报错:
python animation/animated_histogram.py 
Traceback (most recent call last):
  File "animation/animated_histogram.py", line 11, in <module>
    import matplotlib.pyplot as plt
  File "/Users/shiwei/Documents/python_project/study_matplotlib/lib/python3.5/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/Users/shiwei/Documents/python_project/study_matplotlib/lib/python3.5/site-packages/matplotlib/backends/__init__.py", line 62, in pylab_setup
    [backend_name], 0)
  File "/Users/shiwei/Documents/python_project/study_matplotlib/lib/python3.5/site-packages/matplotlib/backends/backend_macosx.py", line 17, in <module>
    from matplotlib.backends import _macosx
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 using (Ana)Conda please install python.app and replace the use of 'python' with 'pythonw'. See 'Working with Matplotlib on OSX' in the Matplotlib FAQ for more information.


Solution:
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.

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 ~/.matplotlib/matplotlibrc there and add the following code: backend: TkAgg

Can execute the following command:

sudo cat > ~/.matplotlib/matplotlibrc <<EOF
backend: TkAgg
EOF


参考:
http://stackoverflow.com/questions/21784641/installation-issue-with-matplotlib-python

标签: python matplotlib RuntimeError

Powered by emlog 豫ICP备15004178号-1