ImportError:无法加载需要“ tk”交互式框架的后端“ TkAgg”,因为当前正在运行“无头”

时间:2019-04-23 12:45:06

标签: python-3.x google-colaboratory

当我使用google colaboratory时,我遇到了这个问题,我已经在stackoverflow上对其进行了搜索,但是答案很少,有人可以帮我解决这个问题吗?谢谢!

我试图以几种方式重新安装matplotlib,并安装tk-dev,但所有这些都不起作用。

import matplotlib
import glob


**matplotlib.use('TKAgg')**


import matplotlib.image as mpimg

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.ticker as ticker

会出现类似标题的ImportError:“ ImportError:由于当前正在运行“无头”,因此无法加载需要'tk'交互式框架的后端'TkAgg'”

4 个答案:

答案 0 :(得分:1)

为我解决的问题是重新启动我的内核,首先导入以下

import matplotlib matplotlib.use('TKAgg')

然后

import matplotlib.pyplot as plt

在尝试更改为TKAgg之前,您可能将matplotlib与其他框架一起导入。重新启动内核。

答案 1 :(得分:0)

该错误消息清楚地说明了TkAgg需要tkinter库。

您可以通过在matplotlib之前导入tkinter库来解决此错误,例如:

import tkinter
import matplotlib
matplotlib.use('TkAgg')

答案 2 :(得分:0)

matplotlib.use('TKAgg')可能到得太晚了(?)。我成功设置了环境变量。

export MPLBACKEND=TKAgg

真的是奇数错误消息。我也在docker容器中尝试此操作,还必须设置DISPLAY。也许还有其他错误没有报告。使用reload(matplotlib)也无济于事。

答案 3 :(得分:0)

我一次又一次地重复 matplotlib.use('TkAgg') 来解决这个问题。这很奇怪,但对我有用!

import matplotlib
i = 0
while i < 10:
    i += 1
    try:
        matplotlib.use('TkAgg')
        break
    except:
        print(i)