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. 安装tcltk

  按照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-devpackage

  更换源后,再次使用命令:  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,问题终于解决!

posted on 2018-08-06 23:29  Dreamcho  阅读(8549)  评论(2编辑  收藏  举报

导航