python-疑難雜症-pyenv中的python不能使用tkinter

背景

博主是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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章