CentOS7のpythonでNo module named tkinterのエラーが出る

2020年6月16日火曜日

CentOS7 Python

t f B! P L
CentOS7上のpython3でmatplotをimportすると、次のようなエラーが発生しました。pythonのバージョンは3.6.8です。

$python3 --version
Python 3.6.8

$ python3 knn.py

Traceback (most recent call last):
  File "knn.py", line 6, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib64/python3.6/site-packages/matplotlib/pyplot.py", line 2372, in <module>
    switch_backend(rcParams["backend"])
  File "/usr/local/lib64/python3.6/site-packages/matplotlib/pyplot.py", line 207, in switch_backend
    backend_mod = importlib.import_module(backend_name)
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib64/python3.6/site-packages/matplotlib/backends/backend_tkagg.py", line 1, in <module>
    from . import _backend_tk
  File "/usr/local/lib64/python3.6/site-packages/matplotlib/backends/_backend_tk.py", line 5, in <module>
    import tkinter as Tk
ModuleNotFoundError: No module named 'tkinter'
tkinterが見つからないというエラーですが、sudo yum install tkinterでtkinterをインストールしてもエラーは消えません。

解決方法

yumでインストールしたpython3のバージョンに合ったtkinterをインストールすると、エラーが解消しました。 python3をpython36u($sudo yum install -y python36u python36u-libs python36u-devel python36u-pip)でインストールした場合は、python36u-tkinterをインストールする必要があります。

$sudo yum install python36u-tkinter

このブログを検索

QooQ