No module named _tkinter, please install the python-tk package 解决方法总结
Posted dreamcho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了No module named _tkinter, please install the python-tk package 解决方法总结相关的知识,希望对你有一定的参考价值。
0. 前言
在ipython环境中,要用到matlotlib库,运行.py文件时,提示以下错误:
No module named _tkinter, please install the python-tk package。
配置环境为ubuntu16.04。本文目的为解决上述问题。
1. Tkinter问题描述
按照普通的思路,上述错误出现的原因可能时时python环境缺少tk的包,于是进行输入命令:sudo apt-get install python-tk
但也提示错误:tcl8.6.8,tk8.6.8 not found。
Google一下,tcl为“工具控制语言(Tool Command Language)”的缩写,其面向对象为otcl语言。Tk 是 Tcl“图形工具箱”的扩展,它提供各种标准的 GUI 接口项,以利于迅速进行高级应用程序开发。
2. 安装tcl和tk
按照1中提示,下载tcl和tk:http://www.tcl.tk/software/tcltk/download.html。 此时最新版本为8.6.8.
(1) 安装tcl,依次执行下面命令:
tar -zvxf tar -xzvf tcl8.6.8-src.tar.gz
cd tcl8.6.1/unix
./configure
make
sudo install make
(2)如法炮制,安装tk8.6.8:
tar -xzvf tk8.6.8-src.tar.gz
cd tk8.6.8/unix
./configure
make
sudo install make
但执行到make命令时提示错误:没有X11/Xlib.的文件或目录,见下图。
3. 搜索X11/Xlib.h文件
按照上图的提示,缺失 X11/Xlib.h文件,于是执行命令:
sudo apt-get install libx11-dev
出现以下提示:
提示信息为:libx11-dev这个package可能missing。
4. 更换source(源)
按图索骥,查找libx11-dev,看看系统中有没有这个libx11-dev这个package:
apt-cache search Xlib
但根本找不到Xlib这个文件:
戏剧地发现马云家的源根本没有libx11-dev这个package!!! 于是更换Tsinghua University的源,具体更换源的方法请在网上找,这里不细说。
5. 找到libx11-dev的package
更换源后,再次使用命令: apt-cache search Xlib
终于找到了libx11-dev。
6. 重新安装tk8.6.8
兜了这么大的圈,再重新回到2中安装tk8.6.8的问题,重新安装tk8.6.8:
tar -xzvf tk8.6.8-src.tar.gz
cd tk8.6.8/unix
./configure
make
sudo install make
7. 最后安装Tkinter
再次安装Tkinter的package:sudo apt-get install python-tk
这次终于没错误提示了。
Ipython环境中运行以下.py文件
Matplotlib和Tkinter成功导入。
Okay,问题终于解决!
以上是关于No module named _tkinter, please install the python-tk package 解决方法总结的主要内容,如果未能解决你的问题,请参考以下文章
ImportError: No module named '_tkinter', please install the python3-tk package
无法使用 pyenv 安装运行 IDLE:`Python 可能没有为 Tk 配置``ModuleNotFoundError: No module named _tkinter'
No module named _tkinter, please install the python-tk package 解决方法总结
Python下"No module named _tkinter"问题解决过程总结
Python的Bug解决No module named Tkinter
Python 2.7 - CentOS 7 - ImportError: No module named Tkinter