当前位置 : 主页 > 操作系统 > centos >

完美解决ImportError: No module named tkinter的问题以及

来源:互联网 收集:自由互联 发布时间:2021-04-07
解决ImportError: No module named tkinter的问题 1、终端输入安装Tkinter: Python2: sudo apt-get install python-tk python3: sudo apt-get install python3-tk 2、安装tcl和tk tcl和tk的下载地址:http://www.tcl.tk/software/

解决ImportError: No module named  tkinter的问题

1、终端输入安装Tkinter:

Python2:

sudo apt-get install python-tk 

python3:

sudo apt-get install python3-tk

2、安装tcl和tk
tcl和tk的下载地址:http://www.tcl.tk/software/tcltk/download.html
目前我下载的tcl/tk源代码包是 tcl8.6.8-src.tar.gz 和 tk8.6.8-src.tar.gz

(1) 安装tcl8.6.8-src.tar.gz:

tar -xzvf tcl8.6.8-src.tar.gz 
cd tcl8.6.8/unix 
执行./configure脚本生成makefile文件
./configure 
编译
make
安装
sudo make install 

(2)安装tk8.6.8-src.tar.gx:

执行./configure脚本生成makefile文件

./configure
编译:
make

编译时如果出现以下错误信息:

    /home/xx/下载/tk8.6.8/unix/../generic/tk.h:96:25: 致命错误: X11/Xlib.h:没有那个文件或目录 
    编译中断。 
    make: *** [tk3d.o] 错误 1 

由在终端运行:
sudo apt-get install libx11-dev 
接着安装:
sudo make install 

3、把下面这个常用库都安装上:

sudo apt-get install autoconf curl libMySQLd-dev libaio-dev libjpeg62-dev libpng12-dev libfreetype6-dev libssl-dev zlib1g-dev
sudo apt-get install  libbz2-dev libgdbm-dev 
sudo apt-get install sqlite3 libsqlite3-tcl libsqlite3-dev 
sudo apt-get install  python-bsddb3 

4、安装好后, 输入:

python

python2:

import Tkinter 

python3:

import tkinter 

如果第4步输入  import Tkinter  代码时,出现消息,那就就问题了,我们还需要进行下一步操作:

在终端执行  sudo apt-get install python3-tk再次重复第五步,输入  import tkinter  代码时没有出现任何消息,那就OK了。

Tkinter 在py2和py3中的使用差别

py2 与 py3 中 tkinter 的变化:

  Tkinter        → tkinter
    tkMessageBox    → tkinter.messagebox
    tkColorChooser  → tkinter.colorchooser
    tkFileDialog    → tkinter.filedialog
    tkCommonDialog  → tkinter.commondialog
    tkSimpleDialog  → tkinter.simpledialog
    tkFont          → tkinter.font
    Tkdnd          → tkinter.dnd
    ScrolledText    → tkinter.scrolledtext
    Tix            → tkinter.tix
    ttk            → tkinter.ttk

更多Python相关信息见Python 专题页面 https://www.558idc.com/topicnews.aspx?tid=17

网友评论