Решение проблем с использованием модуля python matplotlib под pyenv

искусственный интеллект Python Mac Linux

сообщение об ошибке

Сначала опишем проблемы, с которыми я столкнулся.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/… он…, то я понимаю, что он делает:

Тоtkinterpackage («Интерфейс 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

На этом этапе вы можете запустить свой код.