当前位置: 代码迷 >> python >> 没有tkinter包可用
  详细解决方案

没有tkinter包可用

热度:95   发布时间:2023-06-13 13:54:26.0

在尝试在RHEL Fedora系统上导入matplotlib时,我收到此错误:

Traceback (most recent call last):
  File "generate_example_images.py", line 9, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/local/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/usr/local/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
    from six.moves import tkinter as Tk
  File "/usr/lib/python2.7/dist-packages/six.py", line 194, in load_module
    mod = mod._resolve()
  File "/usr/lib/python2.7/dist-packages/six.py", line 108, in _resolve
    return _import_module(self.mod)
  File "/usr/lib/python2.7/dist-packages/six.py", line 79, in _import_module
    __import__(name)
ImportError: No module named Tkinter

另一个问题是我可以使用以下内容:

yum install tkinter

这应该为python 2和python3安装一个tkinter包,但是,然后我得到了错误

Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/latest                                 | 2.1 kB     00:00     
amzn-updates/latest                              | 2.3 kB     00:00     
No package tkinter available.
Error: Nothing to do

当我看到yum包时,我也没有看到tkinter包,所以我有理由得到这个错误。

在Python 2.7中,Tkinter包名称是Tkinter而不是Python 3 tkinter 当我查看您的错误时,您的matplotlib似乎是一个Python 3脚本。

如果您自己编写了matplotlib (在/usr/local/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py )(并且它是为Python 2.7编写的),请更改第6行

from six.moves import tkinter as Tk

from six.moves import Tkinter as Tk

或者更加版本友好:

try:
    from six.moves import tkinter as Tk
    # print('Python 3')
except ImportError e:
    from six.moves import Tkinter as Tk
    # print 'Python 2.7'

如果您还没有自己编写matplotlib ,请为Python 2.7找到不同的安装(呃)。 如果这不起作用,请使用上面的修复程序并通过联系matplotlib的管理员报告该问题。

  相关解决方案