ImportError: No module named '_tkinter', please install the python3-tk package

什么是tkinter, tcl ,tk

The tkinter package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms, as well as on Windows systems. (Tk itself is not part of Python; it is maintained at ActiveState.) You can check that tkinter is properly installed on your system by running python -m tkinter from the command line; this should open a window demonstrating a simple Tk interface. 
上述文件摘自Python社区:https://docs.python.org/3/library/tkinter.html

tkinter其实是Python调用tcl程序的标准Python程序,可以通过这个interface调用tcl的程序,因为在大多数的unix系统中都内置了很多的tcl程序和命令。

Tcl 是“工具控制语言(Tool Command Language)”的缩写,其面向对象为otcl语言。Tk 是 Tcl“图形工具箱”的扩展,它提供各种标准的 GUI 接口项,以利于迅速进行高级应用程序开发。

于是,执行terminal 命令:

python -m tkinter 
如果执行正确的话,可以看到如下界面指令,这里主要是指在Linux的桌面系统下: 
这里写图片描述

解决问题1

在网络上初次搜索之后,发现有人提示说python-tk/python3-tk的类库需要在操作系统层面进行安装。本次案例以Ubuntu为例, 查询其是否安装:

>sudo apt search python3-tk
正在排序... 完成
全文搜索... 完成
python3-tk/artful,now 3.6.3-0ubuntu1 amd64 [已安装]
Tkinter - Writing Tk applications with Python 3.x
python3-tk-dbg/artful 3.6.3-0ubuntu1 amd64
Tkinter - Writing Tk applications with Python 3.x (debug extension)
python3-tksnack/artful,artful,now 2.2.10.20090623-dfsg-6 all [已安装]
Sound extension to Tcl/Tk and Python/Tkinter - Python 3.x library

上述是已经安装的显示信息,如果没有安装,则需要执行,安装指令:

sudo apt install python3-tk (Ubuntu) 
yum install python3-tk (Centos)

在安装完成之后,重新执行程序,然后报出同样的错误,问题仍然存在。 
然后有发现有信息说,需要安装tk的开发类库,于是,在查询之后未安装之后,直接进行安装:

sudo apt install tk-dev (Ubuntu/Debian) 
yum install tk-devel (CentOS) 
在安装之后,重新执行程序,错误仍然存在。

A note -- for python3.6, I had to install;

sudo apt-get install python3.6-tk

解决问题2

在stackoverflow上搜索一番之后,发现有人提示说,某些情况下是tcl/tk安装不完整造成的,于是就重新下来了tcl/tk的源代码包:

下载链接: http://www.tcl.tk/software/tcltk/download.html

然后分别下来两者源代码,加压缩之后,切入源代码目录:

configure 
make or make test 
sudo make install 
在重新安装tck/tk之后,重新执行代码,问题依然存在。

 

你可能感兴趣的:(python基础)