为Python安装tkinter


277

我正在努力import Tkinter。但是,我收到一条错误消息,指出Tkinter尚未安装:

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

我可能可以使用Synaptic Manager进行安装(可以吗?),但是,我必须将其安装在我编程的每台计算机上。是否可以将Tkinter库添加到我的工作区中并从那里引用它?


答案建议的解决方案对您有用吗?这对我来说不是:E: Unable to locate package python-tk有人遇到了这个问题吗?
查理·帕克

8
对于它的价值,如果您遇到此错误, matplotlib则不一定总是需要安装Tkinter。matplotlib.use('Agg')导入后立即致电matplotlib
丹尼尔·F

7
import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt如果您不想安装,可以使用tkinter
markroxor

6
如果您使用python3.6dosudo apt-get install python3.6-tk

Answers:


405

要在本地安装Tkinter以便与系统提供的Python一起使用不是很容易。您可以从源代码构建它,但是对于您显然正在运行的基于二进制包的发行版,这通常不是最好的主意。

apt-get install python-tk在您的计算机上更安全。(可在基于Debian的发行版(如Ubuntu)上使用;请参考其他发行版上的软件包管理器和软件包列表。)


2
@BryanOakley:当然可以。张贴者似乎有一个基于apt的Linux机器,这就是答案。这看起来像一个狭窄的问题。我没想到这个答案会得到如此多的赞誉。
9000

62
而对于apt-get install python3-tkubuntu 15.04发表评论时的python3
jmunsch 2015年

1
我也为python3.4和ubuntu 15.04做到了:apt-get install python3-tk
hassan ketabi

4
刚在Mint18(源自16.04 Ubuntu)上进行了此练习,结果是doubleplusgood。 sudo apt install -y python3-tk
尊敬

如何从源代码安装tkinter?我有tcl / tk,已使用验证wish。我找不到tkinter的源tarball。
lapin

83

实际上,您只需要使用以下命令为python3安装tkinter:

sudo apt-get install python3-tk

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

sudo dnf install python3-tkinter

2
谢谢!实际上,它需要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:没有名为'tkinter'的模块我使用(Python 3.7.5)
sqp_125

解决方案:sudo apt-get install python3.7-tk
sqp_125 '19

66

如果像我一样,由于IS中的好朋友而没有网络上的root特权,并且您正在本地安装中,则上述方法可能会出现问题。

我在Google上度过了很长一段时间-但最后还是很容易。

http://www.tcl.tk/software/tcltk/download.html下载tcl和tk,也将它们安装在本地。

要在Linux上本地安装(我将其安装到主目录中),请提取tcl和tk的.tar.gz文件。然后打开./unix目录中的自述文件。我跑了

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 setup.py buildpython setup.py install在您的python安装目录中-它应该可以工作。它为我工作-现在我可以将Tkinter等导入我的内心-yipidy-yay。整个下午都在此上度过-希望此笔记可以使其他人免于痛苦。


2
嗨,西蒙。我只是摆脱了Linux的麻烦。我需要在本地安装tcl / tk和python。我想将它们安装到“ / home / cnel711 / install /”。安装完tcl / tk之后。我应该为Python设置路径吗?如何。我还使用./configure安装python。谢谢
塞缪尔

嗨,我已经在本地安装了tcl / tk,并重建了python。但是,在构建python(本地)时,出现错误:libtk8.6.so:无法打开共享对象文件:没有此类文件或目录,并且模块_tkinter无法构建。我什至尝试使用设置我的tcl / tk库的路径,--with_tcltk_libs但这无济于事。
rivendell 2014年

7
您指的是哪个setup.py文件?在哪里可以找到那个?我迷路了。
David Merinos

1
@DavidMerinos,我想setup.py可以在您最初安装Python的源目录中找到该文件-这是我找到它的位置。如果您没有删除它,但是忘记了此目录的位置,则可以在find ~ -type f -name setup.py任何外壳程序中运行命令。
Acsor

4
setup.py我的计算机上命名的文件超过100个。你在说哪一个?
jodag

39

如果您使用的是Python 3,则可能是因为您输入的Tkinter不是tkinter


我在Windows上,这很容易解决了我的问题。:)
赵燕



15

对于Python 2.7:

您无需下载Tkinter-它是所有Python发行版的组成部分(不支持Tcl / Tk的平台的二进制发行版除外)。

因为它说在这里。就我而言,在Windows上,帮助重新安装Python发行版的是。大概很久以前,我还没有选中“ Tcl / Tk”安装功能。重新安装后,一切正常,我可以import _tkinterimport Tkinter


10

如果您使用的是RHEL,CentOS,Oracle Linux等,则可以使用yum安装tkinter模块

yum install tkinter

3
请注意,此安装tkinterpython2
confused00'Sep

1
Fedora和python 3.5:sudo dnf install python3-tkinter
Jordan Stewart

在CentOS 7上,我已经安装了tkinter,但是我的默认python(2.7)仍然抱怨“没有名为tkinter的模块”!
Nimar

5

我的情况下也需要安装tk-devel

百胜安装-y tkinter tk-devel

安装这些并重建python


4

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


3

如果您正在使用,Python 3则必须按以下步骤安装:

sudo apt-get update
sudo apt-get install python3-tk

Tkinter的为Python 2python-tk)是不同Python 3的(python3-tk)。


为什么在升级之前先升级?这将不仅影响python / tk,还会影响更多的软件。
马修(Matthew)

1
@MatthewRead我改变了它。我偶然把它留在那里,你是对的。我与Tk的安装过程没有任何关系。
gon1332 2015年

E: Unable to locate package python3-tk你有这个吗?
查理·帕克

@CharlieParker python3-tk存在于XUbuntu 16.04软件包管理器上。
gon1332

3

Fedora版本25(二十五)

dnf install python3-tkinter

这对我有用。


这同样在f26上仍然存在。
mikeymop

3

对于ubuntu上的python 3.7我不得不使用sudo apt-get install python3.7-tk它来使其工作


3

如果要安装它,则必须转到终端并输入:-

sudo apt-get python-tk

如果在这种情况下要更新现有的软件包或python,请输入:-

sudo apt-get update 

然后,您的所有软件包将被更新。如果要删除软件包,请输入:-

sudo apt-get remove [package name]#in this case python-tk

1
此答案中的信息不正确。 sudo apt-get python-tk不是有效的命令。你可能是故意的sudo apt-get install python-tk。另外,sudo apt-get update不升级任何东西,它只会更新您的本地软件包列表。您需要运行upgradedist-upgrade实际升级软件包。
科里·戈德堡

2

有_tkinter和Tkinter-都可以在Py 3.x上使用,但是为了安全起见-下载Loopy并将python根目录(如果使用的是像PyCharms这样的IDE)更改为Loopy的安装目录。您将获得此库以及更多其他内容。


?OP从未提及
Corey Goldberg

2

macOS上的情况仍然有点复杂,但是可以执行:

Python.org强烈建议从ActiveState下载tkinter ,但您应该阅读其许可首先(提示:请勿重新分发或获得支持)。

当下载被打开时,OS X 10.11拒绝了它,因为找不到我的收据:“ ActiveTcl-8.6.pkg无法打开,因为它来自一个身份不明的开发人员”。

我遵循了自2012年以来的OSXDaily修复程序,修复程序建议允许在任何地方进行。但是OS X现在添加了“随时打开”选项以允许(例如)一次性激活Active-Tcl,并且“任何地方”选项都已超时。

“任何地方”的新警告


2

Tkinter是python的GUI模块。您可以使用它在python中制作基于GUI的应用程序。Tkinter提供了一些GUI小部件,例如按钮,菜单,画布,文本,框架,标签等,以开发桌面应用程序。尽管Tkinter非常流行,并且包含在Windows,macosx安装的python中,但也有其他选择,例如pyQt,wxPython。 ..

在本教程中,我们将看到如何在Linux上安装它并通过示例使用它。

首先,检查您是否安装了python并检查其版本

打开您的终端并输入python。如果已安装,则它将显示诸如版本,帮助之类的信息...检查您的版本(我的是python 2.7.9)

aman @ vostro:〜$ python Python 2.7.9(默认,2015年4月2日,15:33:21)[linux 2的[GCC 4.9.2]]键入“帮助”,“版权”,“信用”或“许可证”以获取更多信息信息。

如果您没有python,请安装sudo apt-get install python

如果要安装python 3,请输入以下内容。如果您是新手,我建议您使用python 2而不是python3。Python2仍然非常流行,并且使用了许多应用程序。在ubuntu上python2仍然是默认的sudo apt-get install python3

最后,安装Tkinter

sudo apt-get install python-tk

对于python 3

sudo apt-get install python3-tk

如何使用它

现在,让我们通过这个小例子来检查Tkinter是否运行良好

打开终端并输入python shell。蟒蛇

对于python3 python3

如果python安装正确,您将得到>>>提示。aman @ vostro:〜$蟒蛇

Python 2.7.9 (default, Apr  2 2015, 15:33:21)
[GCC 4.9.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.
>>>

现在导入Tkinter模块。如果正确导入,它将不会显示任何错误。注意:确保在python2中键入Tkinter(不是tkinter),在python3中键入tkinter(不是Tkinter)。

>>>import Tkinter

现在,只需检查一下即可使用Tkinter创建一个空窗口。

>>>Tkinter.Tk()

1

对于Fedora> = 25和python> = 3,我们可能需要包括 Tkinter

sudo dnf install python3-tkinter


0

写tkinter而不是Tkinter(Tkinter用于python 2,tkinter用于python 3)


-3

如果您拥有Python 3.7.2,则无需安装任何工具,只需输入以下内容即可:

from tkinter import *

这就是发布者说的行不通的问题。
PythonLuaMaster
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.