背景
博主是deepin的linux系統,在使用matplotlib進行繪製的時候,出現以下報錯:
Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure
本文將對其進行解決
問題分析
提示爲non-gui,一些資料中提到是tkinter的問題。博主使用的pyenv,在這個python的虛擬環境中的確是可能缺少這樣的依賴。
一些資料顯示,直接通過sudo apt install python-tk
可以進行解決。
分析:
- apt安裝爲系統性,會直接影響系統環境的python,而非直接影響pyenv
- 博主由於版本兼容問題,上述命令直接報錯
所以我們需要的是影響到pyenv環境的方法
問題解決方法
sudo apt install tk-dev
- 然後重新通過pyenv安裝編譯指定的python版本(當然,之前裝過的依賴庫都需要重新安裝一下)
- 重新安裝依賴庫的快捷方法
# 導出之前安裝的所有依賴庫
pip freeze > requirement.txt
# 重新編譯並且安裝完python後,直接進行依賴庫的全部安裝
pip install -r requirement.txt
注:這裏所提到的重新安裝python,是指的用pyenv命令進行卸載和重裝:
- pip uninstall 3.6.8
- pip install 3.6.8(這裏會重新依賴系統環境進行編譯python)