【问题标题】:No tkinter package available没有可用的 tkinter 软件包
【发布时间】:2017-06-26 20:39:28
【问题描述】:

尝试在 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

https://tkinter.unpythonic.net/wiki/How_to_install_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?
  • 我使用的是 python 2.7.12

标签: python tkinter rhel


【解决方案1】:

在 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 找到不同的安装(er)。如果这不起作用,请使用上述修复并通过联系matplotlib 的管理员报告问题。

【讨论】:

  • 我通过忽略问题并使用 python 3 重新启动它解决了这个问题。
猜你喜欢
  • 2019-05-01
  • 2014-12-26
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 2017-08-20
  • 2015-04-13
相关资源
最近更新 更多