溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在python中安裝tkinter模塊

發(fā)布時間:2021-03-18 16:29:22 來源:億速云 閱讀:5677 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹怎么在python中安裝tkinter模塊,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

首先進(jìn)行包和類庫的查詢:

pip3 search tkinter

結(jié)果發(fā)現(xiàn)大量的包,被匹配到,其中若干相關(guān)的包有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,結(jié)果沒有發(fā)現(xiàn)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社區(qū):https://docs.python.org/3/library/tkinter.html

tkinter其實(shí)是Python調(diào)用tcl程序的標(biāo)準(zhǔn)Python程序,可以通過這個interface調(diào)用tcl的程序,因?yàn)樵诖蠖鄶?shù)的unix系統(tǒng)中都內(nèi)置了很多的tcl程序和命令。

Tcl 是“工具控制語言(Tool Command Language)”的縮寫,其面向?qū)ο鬄閛tcl語言。Tk 是 Tcl“圖形工具箱”的擴(kuò)展,它提供各種標(biāo)準(zhǔn)的 GUI 接口項,以利于迅速進(jìn)行高級應(yīng)用程序開發(fā)。

于是,執(zhí)行terminal 命令:

python -m tkinter 

如果執(zhí)行正確的話,可以看到如下界面指令,這里主要是指在Linux的桌面系統(tǒng)下: 

嘗試解決問題-1

在網(wǎng)絡(luò)上初次搜索之后,發(fā)現(xiàn)有人提示說python-tk/python3-tk的類庫需要在操作系統(tǒng)層面進(jìn)行安裝。本次案例以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

上述是已經(jīng)安裝的顯示信息,如果沒有安裝,則需要執(zhí)行,安裝指令:

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

在安裝完成之后,重新執(zhí)行程序,然后報出同樣的錯誤,問題仍然存在。 
然后有發(fā)現(xiàn)有信息說,需要安裝tk的開發(fā)類庫,于是,在查詢之后未安裝之后,直接進(jìn)行安裝:

sudo apt install tk-dev (Ubuntu/Debian) 
yum install tk-devel (CentOS)

在安裝之后,重新執(zhí)行程序,錯誤仍然存在。

嘗試解決問題-2

在stackoverflow上搜索一番之后,發(fā)現(xiàn)有人提示說,某些情況下是tcl/tk安裝不完整造成的,于是就重新下來了tcl/tk的源代碼包:

下載鏈接: http://www.tcl.tk/software/tcltk/download.html

然后分別下來兩者源代碼,加壓縮之后,切入源代碼目錄:

configure 
make or make test 
sudo make install

在重新安裝tck/tk之后,重新執(zhí)行代碼,問題依然存在。
最終解決問題

在嘗試了若干次之后,自我感覺該安裝和設(shè)置的選項都做了,怎么問題依然存在呢?我忽然發(fā)覺提示錯誤信息中的第一句關(guān)鍵信息:

If this fails your Python may not be configured for Tk

或許這里的問題,根本不是tkinter沒有安裝,或者被正確安裝完成,而是沒有被正確的配置好。目前tcl/tk的內(nèi)容都已經(jīng)安裝好了,只是在python中沒有配置好,但是python3-tk之類的都已經(jīng)安裝了,但是問題并沒有被解決。如果這樣,那就重新安裝Python運(yùn)行環(huán)境吧。

解決辦法:找到python的安裝路徑

./configure --with-ssl #重新編譯
make
make install

然后就能導(dǎo)入成功了

由于目前的*unix系統(tǒng)都是基于python 2.x系列的,如果需要使用Python3則需要自行進(jìn)行代碼的編譯安裝,于是重新基于源代碼進(jìn)行了編譯和安裝, 然后進(jìn)入python的命令行,

import tkinter

提示可以正確加載。于是重新執(zhí)行了之前的原程序,可以正確輸出結(jié)果了。問題到此為止,已經(jīng)被正確的解決。

過程總結(jié)分析

這里講其中的得失點(diǎn)進(jìn)行一下總結(jié):

tkinter是一個python的接口類庫,用以調(diào)用tcl/tk程序,故一般在操作系統(tǒng)層面會有相應(yīng)的類庫安裝,而非僅僅依靠pip3來安裝相應(yīng)的python類庫,比如, python3-tk

devel庫的安裝,在*unix系統(tǒng)中,在進(jìn)行開發(fā)之中,很多情況下是需要devel類庫安裝的,這個是一個大概率的規(guī)則。

某些情況下,會出現(xiàn)安裝不完整的情況或者安裝缺失某些類庫的情況。這個時候可以考慮重新覆蓋安裝,比如tcl/tk, python3的重新安裝

重視錯誤信息的分析和方向性指引。 在本案例中,關(guān)鍵的提示信息有2個部分,其一,moulde未安裝或沒有找到,則從安裝類庫的方向進(jìn)行嘗試解決。 其二, 假定包已經(jīng)安裝,但是未被正確的配置好。 筆者在解決問題之時,首選了思路一來進(jìn)行解決;在碰到各種嘗試失敗之后,才不得不轉(zhuǎn)向其二的思路來解決。如果從兩個方向同時來解決的話,或者這個問題可以被更快的解決。

###centos 安裝tkinter
yum install python-tools

關(guān)于怎么在python中安裝tkinter模塊就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI