2014-02-14 5 views
265

У меня есть проблемы после установки пакета Matplotlib неспособного импорта matplotlib.pyplot как PLT. Любое предложение будет в значительной степени оценено.Установка Проблемы с Matplotlib Python

>>> import matplotlib.pyplot as plt 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "//anaconda/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-macosx-10.5-x86_64.egg/matplotlib/pyplot.py", line 98, in <module> 
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() 
    File "//anaconda/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-macosx-10.5-x86_64.egg/matplotlib/backends/__init__.py", line 28, in pylab_setup 
    globals(),locals(),[backend_name],0) 
    File "//anaconda/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-macosx-10.5-x86_64.egg/matplotlib/backends/backend_macosx.py", line 21, 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. 
+0

Эта [ссылка] (http://stackoverflow.com/questions/4130355/python-matplotlib-framework-under-macosx) сообщает о той же проблеме, которую вы здесь представляете. – Jack

+0

Запуск pythonw вместо python работал для меня – phoenix

ответ

781

Проблема Причина В Mac OS изображения рендеринга обратно конец Matplotlib (что-это-бэкенд для визуализации с использованием API из какао по умолчанию). Есть Qt4Agg и GTKAgg, а в качестве исходного кода не используется значение по умолчанию. Установите задний конец macosx, который отличается по сравнению с другими окнами или linux os.

я решить эту проблему следующим образом:

  • Я предполагаю, что вы установили пип Matplotlib, есть каталог в вас корень называется ~/.matplotlib.
  • Создайте файл ~/.matplotlib/matplotlibrc там и добавьте следующий код: backend: TkAgg

С этой link вы можете попробовать другую схему.

+4

Да, это работает! Если кто-то хочет понять, что произошло, см. Http://matplotlib.org/faq/usage_faq.html#what-is-a-backend –

+112

Некоторые пользователи могут не захотеть изменить бэкэнд для всех своих скриптов. Эта страница - http://matplotlib.org/faq/usage_faq.html#what-is-a-backend - говорит по-другому: включите оператор 'import matplotlib as mpl', затем' mpl.use ('TkAgg') 'сразу после этого, тогда сделайте импорт для pyplot. –

+6

В качестве последующего вопроса, почему в моей корневой папке есть папка .matplotlib, а не в виртуальной среде, где я ее установил? – PDN