1. ホーム
  2. python-3.x

[解決済み] ImportError: tkinter'という名前のモジュールがありません、python3-tkパッケージをインストールしてください。

2022-02-01 22:09:27

質問

この件に関する類似の質問にはすべて目を通し、そこで提案された解決策をすでに試しています。しかし、私はこのエラーを解決することができません。 python3-tk パッケージは、私のプロジェクトで使用している適切なvirtualenvにインストールされています。

私のプロジェクトでは、tkinterは使用していませんが、ファイルを実行しようとすると、以下のエラーが発生します。 _tkinter モジュールです。

トレースバック (最も最近の呼び出し):
ファイル "/usr/lib/python3.5/tkinter/ イニット .py", line 36, in インポート _tkinter
ImportError: '_tkinter'という名前のモジュールがありません。

上記例外の処理中に、別の例外が発生しました。

トレースバック (最も最近の呼び出し):
ファイル "/home/manuelanayantarajeyaraj/PycharmProjects/ChatbotWord2Vec/main.py", 行 2, in from matplotlib import pyplot as plt
ファイル "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/pyplot.py", 行 115, in _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
ファイル "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/ イニット .py", line 62, in pylab_setup [バックエンド名], 0)
ファイル "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", 行 4, in from . import tkagg # Tk photo blitter 拡張に画像をペイントします。
ファイル "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/tkagg.py", 行 5, in from six.moves import tkinter as Tk
ファイル "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py", line 92, in 得る 結果 = self._resolve()
ファイル "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py", ライン 115, in _resolve return _import_module(self.mod)
ファイル "/home/manuelanayantarajeyaraj/usr/myProject/lib/python3.5/site-packages/six.py", 行 82, in _import_module インポート (名前)
ファイル "/usr/lib/python3.5/tkinter/ イニット .py", line 38, in raise ImportError(str(msg) + ', python3-tk パッケージをインストールしてください')
ImportError: _tkinter'という名前のモジュールがありません、python3-tkパッケージをインストールしてください。

したがって、私は自分のインタープリターの場所に移動して、virtualenvを作成し、その中にインストールした python3-tk パッケージを次のように使用します。

sudo apt-get install python3-tk

確認したところ、すべてのパッケージが最新であるようです

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-tk is already the newest version (3.6.5-3~16.04.york0.2).
The following packages were automatically installed and are no longer required:
  libappindicator1 libindicator7 libllvm4.0 linux-headers-4.10.0-28
  linux-headers-4.10.0-28-generic linux-headers-4.13.0-36
  linux-headers-4.13.0-36-generic linux-headers-4.13.0-37
  linux-headers-4.13.0-37-generic linux-image-4.10.0-28-generic
  linux-image-4.13.0-36-generic linux-image-4.13.0-37-generic
  linux-image-extra-4.10.0-28-generic linux-image-extra-4.13.0-36-generic
  linux-image-extra-4.13.0-37-generic linux-signed-image-4.10.0-28-generic
  linux-signed-image-4.13.0-36-generic linux-signed-image-4.13.0-37-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.

しかし、まだ同じインポートエラーが発生しています。 ImportError: No module named '_tkinter', please install the python3-tk package .

この点に関して、何かご提案があれば、ぜひお願いします。

解決方法は?

インポートする際に matplotlib を使おうとしているのでしょう。 tk バックエンドをデフォルトとしています。もし tk を使用したくない場合は、単純に別のバックエンドを使用することも可能です。

import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt