转载地址: https://www.linuxidc.com/Linux/2019-04/158177.htm
环境介绍
任何技术问题的出现以及修复都是依赖于系统环境以及特定版本的,这里首先描述如下:
Ubuntu: 18.04
问题初步分析
用过python的朋友都知道,碰到类似的问题,比如import Error,大概率情况下都是某个包未安装,故第一反应就是某个包缺失了,于是首先进行了包和类库的查询:
linuxidc@linuxidc:~$ pip3 search tkinter
结果发现大量的包,被匹配到,其中若干相关的包有tkinter,这些信息基本上没有帮助。
于是尝试直接安装tkinter,结果没有发现tkinter包
linuxidc@linuxidc:~$ pip3 install tkinter
什么是tkinter, tcl ,tk
tkinter其实是Python调用tcl程序的标准Python程序,可以通过这个interface调用tcl的程序,因为在大多数的unix系统中都内置了很多的tcl程序和命令。
Tcl 是“工具控制语言(Tool Command Language)”的缩写,其面向对象为otcl语言。Tk 是 Tcl“图形工具箱”的扩展,它提供各种标准的 GUI 接口项,以利于迅速进行高级应用程序开发。
于是,执行terminal 命令:
linuxidc@linuxidc:~/linuxidc.com$ python3 -m tkinter
尝试解决问题
在网络上初次搜索之后,发现有人提示说python-tk/python3-tk的类库需要在操作系统层面进行安装。本次案例以Ubuntu为例, 查询其是否安装:
linuxidc@linuxidc:~$ sudo apt search python3-tk
[sudo] linuxidc 的密码:
正在排序… 完成
全文搜索… 完成
…
如果没有安装,则需要执行,安装指令:
(Ubuntu)
linuxidc@linuxidc:~$ sudo apt install python3-tk
在安装完成之后,重新执行程序,然后报出同样的错误,问题仍然存在。
r如果发现有信息说,需要安装tk的开发类库,直接进行安装:
sudo apt install tk-dev (Ubuntu/Debian)