安装Python的tkinter库

346

我试图导入Tkinter,但是我收到一个错误,提示Tkinter没有被安装:

ImportError: No module named _tkinter, please install the python-tk package

我可以使用Synaptic软件包管理器来安装它吗?但是这样我需要在每台电脑上都安装它。是否可能将Tkinter库添加到我的工作空间中,并从那里引用它?


你尝试了答案提供的解决方案吗?对我没有用:E: 无法定位软件包python-tk,有人遇到过这个问题吗? - Charlie Parker
8
如果你用matplotlib出现错误,不一定需要安装Tkinter。导入matplotlib后,调用matplotlib.use('Agg')即可解决。 - Daniel F
8
如果您不想安装tkinter,则可以使用以下代码:import matplotlibmatplotlib.use('agg')import matplotlib.pyplot as plt - markroxor
9
如果您使用的是 python3.6 版本,请执行以下命令进行安装:sudo apt-get install python3.6-tk - user3774684
我正在使用Python 3.8,但仍然无法导入Tkinter:尝试了sudo apt-get install python-tk和sudo apt-get install python3.8-tk,但在PyCharm中(使用虚拟环境)看不到它。 阅读软件包列表...完成 构建依赖关系树 读取状态信息...完成 注意,选择的是'python3-tk'而不是'python3.8-tk' python3-tk已经是最新版本(3.6.9-1~18.04)。 0个升级,0个新安装,0个要删除,19个未升级。 - Shravya Boggarapu
25个回答

465
安装Tkinter并与系统提供的Python一起使用并不是很容易。您可以从源代码构建它,但这通常不是您正在使用的基于二进制包的发行版的最佳选择。
在您的机器上更安全的做法是使用apt-get install python3-tk命令。 (适用于基于Debian的发行版,如Ubuntu;请参考其他发行版上的软件包管理器和软件包列表。)

2
@BryanOakley:当然。海报似乎有一个基于apt的Linux盒子,因此这个答案。这看起来像一个狭窄的问题。我没想到这个答案会得到这么多赞。 - 9000
90
对于Python3,在Ubuntu 15.04上,此评论时可以使用apt-get install python3-tk进行安装。 - jmunsch
3
我也为Python3.4和Ubuntu 15.04做了这件事:apt-get install python3-tk - hassan ketabi
5
刚刚在Mint18上(派生自16.04的Ubuntu)完成了这个练习,感觉非常好。sudo apt install -y python3-tk - reverend
1
如何从源代码安装tkinter?我已经有tcl/tk,使用“wish”进行了验证。我找不到tkinter的源代码tarball。 - lapin
显示剩余8条评论

126

实际上,你只需要使用以下命令来安装Python3的tkinter:

sudo apt-get install python3-tk

另外,对于 Fedora 用户,请使用以下命令:

sudo dnf install python3-tkinter

5
谢谢!实际上需要安装python3-tk而不是python-tk。 - zkan
如果你和我一样是Linux的新手,请注意,如果apt-get在找不到或安装python3-tk时出现问题,请首先尝试运行“sudo apt-get update”。 在我的32位Linux Mint 18.3系统中,Synaptic和apt-get似乎需要更频繁地使用它,这让我感到意外... - RBV
我得到了python3-tk已经是最新的版本(3.5.1-1),当我导入tkinter时,仍然出现ModuleNotFoundError: No module named 'tkinter'。我使用的是Python 3.7.5。 - sqp_125
1
解决方案:sudo apt-get install python3.7-tk - sqp_125

75
如果像我一样,由于I.S.部门的朋友,你没有root权限访问网络,并且正在进行本地安装,那么你可能会遇到一些问题。我在Google上花了很长时间,但最终发现解决方法很简单。
http://www.tcl.tk/software/tcltk/download.html下载tcl和tk,并将它们也本地安装。在Linux上进行本地安装(我是在我的主目录下安装的),解压缩tcl和tk的.tar.gz文件,然后打开./unix目录中的readme文件。我运行了以下命令:
cd ~/tcl8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711
make
make install

cd ~/tk8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711 --with-tcl=/home/cnel711/tcl8.5.11/unix
make
make install

看起来可能有些麻烦,但这些文件非常小,安装非常快。

然后在你的Python安装目录中重新运行python setup.py buildpython setup.py install,它应该可以工作。对我有效,现在我可以尽情地导入Tkinter等模块了!整个下午都在解决这个问题,希望这条注释可以避免其他人也遇到同样的问题。


2
嗨,Simon。我刚刚从Linux上下来了。我需要在本地安装tcl/tk和Python。我想将它们安装到“/home/cnel711/install/”目录下。在安装完tcl/tk之后,我需要为Python设置路径吗?如何设置?我还使用"./configure"来安装Python。谢谢。 - Samuel
你好,我已经在本地安装了tcl/tk并重新编译了Python。但是,在构建Python(本地)时,我遇到了一个错误:libtk8.6.so:无法打开共享对象文件:没有那个文件或目录,并且模块_tkinter未能构建。我甚至尝试使用“--with_tcltk_libs”设置路径到我的tcl/tk库,但这并没有帮助。 - rivendell
7
你指的是哪个setup.py文件呢?我该去哪里找到它?我有点迷失了。 - David Merinos
2
@DavidMerinos,我想setup.py文件应该在你最初安装Python的源目录中 - 这就是我找到它的地方。如果你没有删除它但忘记了这个目录在哪里,你可以从任何地方运行find ~ -type f -name setup.py命令来查找。 - Acsor
5
我机器上有100多个名为 setup.py 的文件,你指的是哪一个? - jodag
显示剩余6条评论

50

如果您正在使用 Python 3,可能是因为您输入了 Tkinter 而不是 tkinter


36

对于Arch Linux用户来说,情况有点像这样

sudo pacman -S tk

仍然遇到一些问题 _tkinter.TclError: 期望整数但得到了"Sans" - Akhil

27

你需要安装该软件包及其依赖项。

既然你提到了Synaptic,那么你一定在使用基于Debian的系统。获取所需内容的一种方法:

sudo apt-get install python-tk

1
"E: 无法找到软件包python-tk",有人遇到过这个问题吗? - Charlie Parker
@CharlieParker 它在Ubuntu的主要软件仓库中:https://packages.ubuntu.com/python-tk - Corey Goldberg
@CharlieParker 是的 - 我已经看过了,但还没有解决。 - ashley

20

对于Python2.7版本:

此处所述,

你不需要下载Tkinter——它是所有Python发行版的基本组成部分(除了不支持Tcl/Tk的平台的二进制发行版)。

就我而言,在Windows上重新安装Python发行版有所帮助。很久以前,我曾取消勾选“Tcl/Tk”安装功能。重新安装后,一切正常,我可以导入_tkinterTkinter


14
如果您正在使用RHEL、CentOS、Oracle Linux等操作系统,可以使用yum安装tkinter模块。
yum install tkinter

5
请注意,这会安装 tkinter 用于 python2 - confused00
1
Fedora上安装Python 3.5: sudo dnf install python3-tkinter - Jordan Stewart
在CentOS 7上,我已经安装了tkinter,但是我的默认python(2.7)仍然报错“没有名为tkinter的模块”! - Nimar

9

对于在Ubuntu上的Python 3.7,我需要使用sudo apt-get install python3.7-tk来使其正常工作。


8
对于使用Python3的用户,请通过以下命令安装python3-tk软件包: ``` sudo apt-get install python3-tk ```

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接