この点については、同様の質問をすべて既に実行し、そこで提案されている解決策を試しました。しかし、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
が引き続き発生します。
これに関する提案は非常に高く評価されます。
matplotlib
をインポートすると、おそらくtk
バックエンドをデフォルトとして使用しようとするでしょう。 tk
をインストールしなかった場合、またはプロジェクトの他の場所で使用したくない場合、考えられる解決策は単に別のバックエンドを使用することです。
import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
このメッセージは、Sudo apt-get install python3-tk
を実行すると、tkinterがPython3.6.5にシンタリングされることを示しますが、一方で、ImportError
はPython3.5に関連しています。したがって、これで問題が解決するはずです。
Sudo apt-get install python3.5-tk