сообщение об ошибке
Сначала опишем проблемы, с которыми я столкнулся.plot.show()
Он всегда не работает успешно и всегда сообщает об ошибке:
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.
На самом деле смысл очень прост, то есть питон, который я использую, не существует как системный фреймворк, потому что я решил легко управлять версией питона.pyenvЭтот инструмент управления представляет собой независимую среду Python.
Попытка решить безрезультатно
Обратитесь к множеству решений в Интернете, таких как следующие два наиболее распространенных:
метод первый:Добавьте следующие две строки кода для решения:
>>> import matplotlib
>>> matplotlib.use('TkAgg')
##在import matplotlib下的模块,如pyplot等之前添加上面2句
>>> import matplotlib.pyplot as plt
Способ второй:Добавьте конфигурацию matplotlib:
echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc
Однако оба приведенных выше решения *** не решили мою проблему ***, и в этот момент возникла вторая ошибка:
No module named '_tkinter'
скажи, что не может быть найденtkinter
Для этого модуля я нашел большинство способов в Интернете, все они являются решениями под систему linux.Мне действительно интересно, нет ли пользователя, который использует mac, чтобы иметь такую проблему, как я?
Причина в том, что при использованииpyenvПитон не установлен независимоtkinter
Это модуль, поэтому попробуйте установить его напрямуюtkinter
, оказывается не нашлосьtkinter
Сумка!
pip3 install tkinter
Collecting tkinter
Could not find a version that satisfies the requirement tkinter (from versions: )
No matching distribution found for tkinter
Идя сюда, я не могу не впасть в глубокие размышления, этоtkinter
Где это святое, я зашел в сообщество Python:docs.Python.org/3/library/… он…, то я понимаю, что он делает:
То
tkinter
package («Интерфейс Tk») — это стандартный интерфейс Python для набора инструментов Tk GUI.tkinter
доступны на большинстве платформ Unix, а также в системах Windows (сам Tk не является частью Python, он поддерживается в ActiveState). Бегpython -m tkinter
из командной строки должно открыться окно, демонстрирующее простой интерфейс Tk, сообщая вам, чтоtkinter
правильно установлен в вашей системе, а также показывает, какая версия Tcl/Tk установлена, так что вы можете прочитать документацию по Tcl/Tk, относящуюся к этой версии.
если быть честным,tkinter
Это GUI (графический пользовательский интерфейс), использующий Python, который предоставляет различные стандартные элементы интерфейса GUI для облегчения быстрой разработки расширенных приложений.
Итак, где установить этоtkinter
сумка, если честно, я до сих пор не знаю, как ею пользоватьсяpyenvустановитьtkinter
, то как решить эту проблему?
Кривая, чтобы спасти страну
теперь, когдаtkinter
Эта библиотека графического интерфейса бесполезна, так что лучше изменить библиотеку? Результат именно то, что я думал, после того, как я изменил библиотеку графического интерфейса, он действительно преуспел.
Конкретные операции заключаются в следующем:
появление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.
При возникновении этой ошибки введите в терминал следующую команду:
echo "backend : Qt5Agg" > ~/.matplotlib/matplotlibrc
Если вам будет предложено, что он не установленPyQt
, вам нужно выполнить
brew install pyqt
затем выполнение
pip install PyQt5
На этом этапе вы можете запустить свой код.