先來描述一下我遇到的問題,在進行matplotlib學習時, 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.
其實意思很簡單,就是我用的python并不是一個作為系統框架存在的,因為我為了方便管理python的版本,選擇了 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 獨立安裝出來的python中并沒有 tkinter 這個模塊,于是嘗試直接安裝 tkinter ,結果竟然提示沒有發現 tkinter 包!
pip3 install tkinterCollecting tkinterCould not find a version that satisfies the requirement tkinter (from versions: )No matching distribution found for tkinter
來到這,我不禁陷入了深深的思考,這個 tkinter 到底是何方神圣,去了Python社區:https://docs.python.org/3/library/tkinter.html ,這才懂了他是啥玩意:
The tkinter package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms, as well as on Windows systems. (Tk itself is not part of Python; it is maintained at ActiveState.) Running python -m tkinter from the command line should open a window demonstrating a simple Tk interface, letting you know that tkinter is properly installed on your system, and also showing what version of Tcl/Tk is installed, so you can read the Tcl/Tk documentation specific to that version.
說白了, tkinter 就是一個利用python做GUI(圖形用戶界面),它提供各種標準的 GUI 接口項,以利于迅速進行高級應用程序開發。
新聞熱點
疑難解答