首页 > 解决方案 > 不明白这个 No module named 'tkinter' 错误

问题描述

当我运行需要图形表示的程序时,我一直在 AWS EMR 中使用 Jupyter notebook。我收到此错误:

 No module named 'tkinter'
    Traceback (most recent call last):
    File "/usr/local/lib/python3.4/site-packages/seaborn/__init__.py", line
    6, in <module>
    from .rcmod import *
    File "/usr/local/lib/python3.4/site-packages/seaborn/rcmod.py", line 5,
    in <module>
    from . import palettes, _orig_rc_params
  File "/usr/local/lib/python3.4/site-packages/seaborn/palettes.py", line 12, in <module>
    from .utils import desaturate, set_hls_values, get_color_cycle
  File "/usr/local/lib/python3.4/site-packages/seaborn/utils.py", line 11, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib64/python3.4/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/local/lib64/python3.4/site-packages/matplotlib/backends/__init__.py", line 62, in pylab_setup
    [backend_name], 0)
  File "/usr/local/lib64/python3.4/site-packages/matplotlib/backends/backend_tkagg.py", line 4, in <module>
    from . import tkagg  # Paint image to Tk photo blitter extension.
  File "/usr/local/lib64/python3.4/site-packages/matplotlib/backends/tkagg.py", line 5, in <module>
    from six.moves import tkinter as Tk
  File "/usr/local/lib/python3.4/site-packages/six.py", line 92, in __get__
    result = self._resolve()
  File "/usr/local/lib/python3.4/site-packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/usr/local/lib/python3.4/site-packages/six.py", line 82, in _import_module
    __import__(name)
ImportError: No module named 'tkinter'

标签: pythontkinter

解决方案


我刚刚在 CentOS 7 VM 上查看了这个(最接近我现在设置的环境)。因为你没有使用软件集合(绝对推荐),看起来 Tkinter 可以安装:

sudo yum install python33-python-tkinter.x86_64

但看起来这适用于 Python 3.3,而您使用的是 Python 3.4,所以我建议尝试:

sudo yum install python34-python-tkinter.x86_64

寻找包裹

如果这不起作用,我知道找到合适的包的最简单方法是:

yum search tkinter | less

...看看出现了哪些包裹。


软件合集

如果您选择软件集合的路线,则需要安装适当的 Python 发行版(请参阅此处的软件集合站点),然后安装适当的 tkinter 版本。对我来说,yum search tkinter提出:

...
rh-python34-python-tkinter.x86_64
rh-python35-python-tkinter.x86_64
rh-python36-python-tkinter.x86_64
...

这些用于软件集合,对应于 Python 3.4、3.5 和 3.6。


推荐阅读