Edw*_*ric 7 python linux matplotlib
尝试在 Linux 上使用 Matplotlib,但我不断收到此错误:
ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running
Run Code Online (Sandbox Code Playgroud)
我在操作系统上使用虚拟环境:Linux 18.04 LTS。Python版本:3.6
我尝试了许多其他帖子建议的解决方案:
sudo apt-get install tk-dev libpng-dev libffi-dev dvipng texlive-latex-base
pip uninstall matplotlib
pip --no-cache-dir install matplotlib
Run Code Online (Sandbox Code Playgroud)
我试过摆弄使用 matplotlib 的 python 脚本:
#TOP OF FILE
import matplotlib
matplotlib.use('Agg') # or 'TkAgg', or removing the line altogether
import matplotlib.pyplot as plt
...
Run Code Online (Sandbox Code Playgroud)
运行 python 以查看正在使用的后端:
import matplotlib
matplotlib.get_backend() # -> 'agg'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢
我在 macOS 上使用 iPython 时遇到了类似的问题并收到错误消息
matplotlib.use('TkAgg')
Run Code Online (Sandbox Code Playgroud)
ImportError:无法加载需要“tk”交互式框架的后端“TkAgg”,因为“macosx”当前正在运行
我能够使用来展示我的情节
matplotlib.use('WebAgg') # shows in the browser
Run Code Online (Sandbox Code Playgroud)
或者
matplotlib.use('MacOSX') # shows on the desktop
Run Code Online (Sandbox Code Playgroud)
要获取所有可用后端的列表,我输入:
matplotlib.use('?')
...
Run Code Online (Sandbox Code Playgroud)
ValueError:无法识别的后端字符串'?':有效字符串为['GTK3Agg','GTK3Cairo','MacOSX','nbAgg','Qt4Agg','Qt4Cairo','Qt5Agg','Qt5Cairo','TkAgg',' TkCairo'、'WebAgg'、'WX'、'WXAgg'、'WXCairo'、'agg'、'cairo'、'pdf'、'pgf'、'ps'、'svg'、'模板']
另请参阅什么是后端?