我已经完成了这方面的所有类似问题,并尝试了那里提出的解决方案。但我无法解决此错误,尽管我的python3-tk
软件包安装在我正在使用的适当的virtualenv项目中。
虽然在我的项目中,我没有使用tkinter,但当我尝试运行该文件时,我收到了与_tkinter
模块相关的以下错误。
追踪(最近的呼叫最后):
的模块
文件" /usr/lib/python3.5/tkinter/ init .py",第36行,在 import _tkinter
ImportError:没有名为' _tkinter'在处理上述异常期间,发生了另一个异常:
追踪(最近的呼叫最后):
File" /home/manuelanayantarajeyaraj/PycharmProjects/ChatbotWord2Vec/main.py" ;,第2行,in 从matplotlib导入pyplot作为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行,in 来自。 import tkagg#将图像绘制到Tk照片阻挡扩展。
文件" /home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/tkagg.py" ;,第5行,在 从six.moves导入tkinter作为Tk
文件" /home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py" ;,第92行,获取 result = self._resolve()
文件" /home/manuelanayantyajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py" ;,第115行,在_resolve中 return _import_module(self.mod)
文件" /home/manuelanayantyajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py" ;,第82行,在_import_module中 导入(名称)
文件" /usr/lib/python3.5/tkinter/ init .py",第38行,在 引发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
。
这方面的任何建议都将受到高度赞赏。
答案 0 :(得分:18)
导入matplotlib
时,可能会尝试使用tk
后端作为默认值。如果您没有安装tk
,或者您不想在项目的其他任何地方使用它,那么可能的解决方案就是使用不同的后端:
import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
答案 1 :(得分:6)
该消息表明,当您运行sudo apt-get install python3-tk
时,它会告诉您tkinter已被 Python3.6.5 屏蔽,但另一方面,ImportError
与<{1}}相关联强> Python3.5 即可。所以我相信这应该可以解决你的问题:
sudo apt-get install python3.5-tk