重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家介绍怎么在python中安装tkinter模块,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联-专业网站定制、快速模板网站建设、高性价比通河网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式通河网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖通河地区。费用合理售后完善,十多年实体公司更值得信赖。首先进行包和类库的查询:
pip3 search tkinter
结果发现大量的包,被匹配到,其中若干相关的包有tkinter,这些信息基本上没有帮助。
..................
tkinter.help (2.0) - Small Preview of Tkinter Widgets
tkinter3000 (1.1-20051211) - Widget Construction Kit for Tkinter
tkinterhtml (0.7) - Python wrapper for Tkhtml3 (http://tkhtml.tcl.tk/)
tkinterquickhelper (1.5.18) - Helpers for tkinter, extra windows.
tkintertable (1.2) - Extendable table class for Tkinter
.......................
于是尝试直接安装tkinter,结果没有发现tkinter包
> pip3 install tkinter
Collecting tkinter
Could not find a version that satisfies the requirement tkinter (from versions: )
No matching distribution found for tkinter
什么是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)
在安装之后,重新执行程序,错误仍然存在。
尝试解决问题-2
在stackoverflow上搜索一番之后,发现有人提示说,某些情况下是tcl/tk安装不完整造成的,于是就重新下来了tcl/tk的源代码包:
下载链接: http://www.tcl.tk/software/tcltk/download.html
然后分别下来两者源代码,加压缩之后,切入源代码目录:
configure make or make test sudo make install
在重新安装tck/tk之后,重新执行代码,问题依然存在。
最终解决问题
在尝试了若干次之后,自我感觉该安装和设置的选项都做了,怎么问题依然存在呢?我忽然发觉提示错误信息中的第一句关键信息:
If this fails your Python may not be configured for Tk
或许这里的问题,根本不是tkinter没有安装,或者被正确安装完成,而是没有被正确的配置好。目前tcl/tk的内容都已经安装好了,只是在python中没有配置好,但是python3-tk之类的都已经安装了,但是问题并没有被解决。如果这样,那就重新安装Python运行环境吧。
解决办法:找到python的安装路径
./configure --with-ssl #重新编译 make make install
然后就能导入成功了
由于目前的*unix系统都是基于python 2.x系列的,如果需要使用Python3则需要自行进行代码的编译安装,于是重新基于源代码进行了编译和安装, 然后进入python的命令行,
import tkinter
提示可以正确加载。于是重新执行了之前的原程序,可以正确输出结果了。问题到此为止,已经被正确的解决。
过程总结分析
这里讲其中的得失点进行一下总结:
tkinter是一个python的接口类库,用以调用tcl/tk程序,故一般在操作系统层面会有相应的类库安装,而非仅仅依靠pip3来安装相应的python类库,比如, python3-tk
devel库的安装,在*unix系统中,在进行开发之中,很多情况下是需要devel类库安装的,这个是一个大概率的规则。
某些情况下,会出现安装不完整的情况或者安装缺失某些类库的情况。这个时候可以考虑重新覆盖安装,比如tcl/tk, python3的重新安装
重视错误信息的分析和方向性指引。 在本案例中,关键的提示信息有2个部分,其一,moulde未安装或没有找到,则从安装类库的方向进行尝试解决。 其二, 假定包已经安装,但是未被正确的配置好。 笔者在解决问题之时,选了思路一来进行解决;在碰到各种尝试失败之后,才不得不转向其二的思路来解决。如果从两个方向同时来解决的话,或者这个问题可以被更快的解决。
###centos 安装tkinter yum install python-tools
关于怎么在python中安装tkinter模块就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。