ImportError: No module named '_tkinter', please install the python3-tk package
Posted
技术标签:
【中文标题】ImportError: No module named \'_tkinter\', please install the python3-tk package【英文标题】:ImportError: No module named '_tkinter', please install the python3-tk packageImportError: No module named '_tkinter', please install the python3-tk package 【发布时间】:2018-10-23 23:18:48 【问题描述】:我已经解决了这方面的所有类似问题,并尝试了那里提出的解决方案。但是,尽管我的 python3-tk
包安装在我用于我的项目的正确 virtualenv 中,但我无法解决此错误。
虽然在我的项目中,我没有使用 tkinter,但当我尝试运行该文件时,我收到了与 _tkinter
模块相关的以下错误。
回溯(最近一次通话最后一次): 文件“/usr/lib/python3.5/tkinter/init.py”,第 36 行,在 导入 _tkinter ImportError:没有名为“_tkinter”的模块
在处理上述异常的过程中,又发生了一个异常:
回溯(最近一次通话最后一次): 文件“/home/manuelanayantarajeyaraj/PycharmProjects/ChatbotWord2Vec/main.py”,第 2 行,在 从 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() pylab_setup 中的文件“/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/init.py”,第 62 行 [后端名称],0) 文件“/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py”,第 4 行,在 从 。 import tkagg # 将图像绘制到 Tk photo blitter 扩展。 文件“/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/tkagg.py”,第 5 行,在 从六.moves 导入 tkinter 作为 Tkget 中的文件“/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py”,第 92 行 结果 = self._resolve() _resolve 中的文件“/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py”,第 115 行 返回 _import_module(self.mod) _import_module 中的文件“/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py”,第 82 行 进口(名称) 文件“/usr/lib/python3.5/tkinter/init.py”,第 38 行,在 raise ImportError(str(msg) + ',请安装python3-tk包') ImportError: No module named '_tkinter', please install the python3-tk package
因此,我导航到我的解释器的位置并创建了一个 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
。
在这方面的任何建议都将受到高度赞赏。
【问题讨论】:
请显示dpkg -s python3-tk
的输出。可能你已经为 python3.6 安装了 python3-tk。但你需要python3.5
【参考方案1】:
当您导入matplotlib
时,它可能会尝试使用tk
作为默认后端。如果您没有安装tk
,或者您不想在项目的其他任何地方使用它,那么一个可能的解决方案是简单地使用不同的后端:
import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
【讨论】:
谢谢一百万。这解决了我的问题。对此,我真的非常感激。但我无法直观地看到这些情节。我有几个plt.show()
在 jupyter notebook 上完美运行。我在哪里可以看到与运行 main.py
文件相同的图?
"agg" 是非 GUI 后端,因此您需要保存到文件中。【参考方案2】:
消息表明,当您运行 sudo apt-get install python3-tk
时,它会告诉您 tkinter 是为 Python3.6.5 安装的,但另一方面,ImportError
与 Python3 相关。 5。所以我相信这应该可以解决您的问题:
sudo apt-get install python3.5-tk
【讨论】:
我试过这个并且得到以下输出。Building dependency tree Reading state information... Done Package python3.5-tk is a virtual package provided by: python3-tk 3.5.1-1 [Not candidate version] E: Package 'python3.5-tk' has no installation candidate
我遇到了相反的问题,但知道可以指定子版本解决了我的问题。在 Ubuntu 16 上,默认的 python 3 版本是 3.5。在 Ubuntu 16 上,你必须花一点力气才能让 3.6 运行,我就是这么做的。但是,默认的 tk 版本仍然是 3.5。所以指定 python3.6-tk 让我的系统安装正确的 tk。以上是关于ImportError: No module named '_tkinter', please install the python3-tk package的主要内容,如果未能解决你的问题,请参考以下文章
ImportError : No module named graphics
python27 ImportError: No module named site
Python中ImportError: No module named request
ImportError: No module named win32api