Этот вопрос задавали и здесь, здесь и здесь. Однако решение не устранило проблему для моего случая.
Первоначальная ошибка, когда я пытаюсь import matplotlib.pyplot
, я получил:
Traceback (последний последний вызов): Файл "", строка 1, в файле "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py", строка 114, в _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() Файл "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/init.py", строка 32, в pylab_setup globals(), locals(), [backend_name ], 0) Файл "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py", строка 24, из matplotlib.backends import _macosx RuntimeError: Python не установлен как фреймворк. Бэкэнд Mac OS X не сможет нормально функционировать, если Python не установлен как фреймворк. Дополнительную информацию об установке Python в качестве платформы в Mac OS X см. В документации Python. Пожалуйста, переустановите Python как фреймворк или попробуйте один из других бэкэндов. Если вы работаете с Matplotlib в виртуальной среде, см. "Работа с Matplotlib в виртуальных средах" в FAQ Matplotlib
Я следил за решениями, чтобы добавить файл ~/.matplotlib/matplotlibrc
с кодом: backend: TkAgg
. После этого моя ошибка изменилась на:
/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib создает кеш шрифтов с помощью fc-list. Это может занять некоторое время. warnings.warn('Matplotlib строит кеш шрифтов, используя fc-list. Это может занять некоторое время.') objc [25120]: Class TKApplication реализуется как в /Users/XX/anaconda/lib/libtk8.5.dylib, так и в /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Один из двух будет использован. Какой из них не определен. objc [25120]: класс TKMenu реализован как в /Users/XX/anaconda/lib/libtk8.5.dylib, так и в /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Один из двух будет использован. Какой из них не определен. objc [25120]: класс TKContentView реализован как в /Users/XX/anaconda/lib/libtk8.5.dylib, так и в /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Один из двух будет использован. Какой из них не определен. objc [25120]: класс TKWindow реализован как в /Users/XX/anaconda/lib/libtk8.5.dylib, так и в /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Один из двух будет использован. Какой из них не определен.
Я не знаю, как это исправить. Я не использую виртуальную машину. Не могли бы вы помочь мне? Спасибо!
PS: Я узнал, что добавив:
import matplotlib
matplotlib.use( '') TkAgg
перед import matplotlib.pyplot
, похоже, работает. Но добавлять эти две строки кодов каждый раз раздражает... Кто-нибудь знает, что происходит и как я могу это исправить? Спасибо!