激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 詳解python tkinter模塊安裝過程

詳解python tkinter模塊安裝過程

2020-05-09 09:54wx_411180165 Python

tkinter其實是Python調用tcl程序的標準Python程序,可以通過這個interface調用tcl的程序,因為在大多數的unix系統中都內置了很多的tcl程序和命令。這篇文章主要介紹了python tkinter模塊安裝,需要的朋友可以參考下

引言:

在Python3下運行Matplotlib之時,碰到了”No module named _tkinter“的問題,花費數小時進行研究解決,這里講整個過程記錄下來,并嘗試分析過程中的解決思路利弊得失,以資后效,這里重點提示需要關注錯誤信息的分析,這個是第一現場。

環境介紹

任何技術問題的出現以及修復都是依賴于系統環境以及特定版本的,這里首先描述如下:

Ubuntu: 17.10 
Python: 3.6.1 基于virutalenv來切換不同的Python環境

tkinter的問題描述

原程序中基于matplotlib來進行繪圖操作,其中在運行過程中,報出來了錯誤信息。由于原程序大部分無關問題本身,且日志本身比較多,這里僅僅截取關鍵信息:

import _tkinter # If this fails your Python may not be configured for Tk 
ImportError: No module named _tkinter

問題初步分析

用過python的朋友都知道,碰到類似的問題,比如import Error,大概率情況下都是某個包未安裝,故第一反應就是某個包缺失了,于是首先進行了包和類庫的查詢:

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

正在排序... 完成
全文搜索... 完成

?
1
2
3
4
5
6
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

上述是已經安裝的顯示信息,如果沒有安裝,則需要執行,安裝指令:

?
1
2
sudo apt install python3-tk (Ubuntu)
yum install python3-tk (Centos)

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

?
1
2
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

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

?
1
2
3
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的安裝路徑

?
1
2
3
./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未安裝或沒有找到,則從安裝類庫的方向進行嘗試解決。 其二, 假定包已經安裝,但是未被正確的配置好。 筆者在解決問題之時,首選了思路一來進行解決;在碰到各種嘗試失敗之后,才不得不轉向其二的思路來解決。如果從兩個方向同時來解決的話,或者這個問題可以被更快的解決。

?
1
2
###centos 安裝tkinter
yum install python-tools

總結

以上所述是小編給大家介紹的python tkinter模塊安裝過程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

原文鏈接:https://blog.csdn.net/qq_24726509/article/details/84312468

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 欧美一区二区黄色片 | 极品销魂一区二区三区 | 黄色免费入口 | h色网站免费观看 | 成人做爰s片免费看网站 | 国产在线免 | 国内精品久久久久久久影视红豆 | 国产免费一区视频 | 久国产精品 | 成人福利在线视频 | 草草视频免费 | 欧美一级黄带 | 成年人观看免费视频 | 性欧美视频在线观看 | 精品一区二区三区免费毛片爱 | 久久99精品久久久久久园产越南 | 国内xxxx乱子另类 | 羞羞网站入口 | 欧美日韩精品一区二区三区不卡 | 久久精品国产99久久6动漫亮点 | 久久久电影电视剧免费看 | 欧美一级特黄aaaaaaa什 | 精品无吗乱吗av国产爱色 | 精品久久久久久久久久久久 | 末成年女av片一区二区 | 特逼视频 | 国产精品久久久久久久久久了 | 在线播放的av网站 | 亚洲福利视 | 成人黄色在线观看 | 孕妇体内谢精满日本电影 | 日韩99 | 久久99久久98精品免观看软件 | 亚洲一区在线观看视频 | 国产欧美日韩在线不卡第一页 | 色综合久久久久久久久久久 | 久国久产久精永久网页 | 久久不雅视频 | 欧美成人精品一区二区男人小说 | 精国产品一区二区三区四季综 | 久久无|