web-dev-qa-db-ja.com

ImportError: '_tkinter'という名前のモジュールはありません。python3-tkパッケージをインストールしてください

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

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

トレースバック(最後の最後の呼び出し):
ファイル「/usr/lib/python3.5/tkinter/init.py」、インポート_tkinterの36行目
ImportError:「_tkinter」というモジュールはありません

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

トレースバック(最後の最後の呼び出し):
ファイル "/home/manuelanayantarajeyaraj/PycharmProjects/ChatbotWord2Vec/main.py"、2行目、matplotlibからplplotをpltとしてインポート
ファイル「/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/pyplot.py」、115行目、_backend_mod、new_figure_manager、draw_if_interactive、_show = pylab_setup()
ファイル「/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/-init.py」、62行目、pylab_setup [ backend_name]、0)
ファイル「/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py」の4行目import tkagg#Tk photo blitter extensionに画像をペイントします。
ファイル「/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/tkagg.py」、6行目からTkとしてtkinterをインポート
ファイル「/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py」、92行目、get result = self._resolve ()
ファイル「/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py」、115行目、_resolve return _import_module(self.mod)
ファイル「/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py」、82行目、_import_module import(name)
ファイル "/usr/lib/python3.5/tkinter/init.py"、行38、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が引き続き発生します。

これに関する提案は非常に高く評価されます。

11

matplotlibをインポートすると、おそらくtkバックエンドをデフォルトとして使用しようとするでしょう。 tkをインストールしなかった場合、またはプロジェクトの他の場所で使用したくない場合、考えられる解決策は単に別のバックエンドを使用することです。

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

このメッセージは、Sudo apt-get install python3-tkを実行すると、tkinterがPython3.6.5にシンタリングされることを示しますが、一方で、ImportErrorPython3.5に関連しています。したがって、これで問題が解決するはずです。

Sudo apt-get install python3.5-tk
6