在Ubuntu上找不到Tkinter模块


80
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> 

另一方面...

Python 3.2 (r32:88445, Mar 25 2011, 19:28:28) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Tkinter 

我检查了突触,安装了Tkinter。然后我发现了……

如果失败并显示“没有名为_tkinter的模块”,则需要修改您的Python配置以包括此模块(这是用C实现的扩展模块)。不要编辑模块/设置(已过期)。您可能必须安装Tcl和Tk(使用RPM时,也要安装-devel RPM)和/或编辑setup.py脚本以指向安装Tcl / Tk的正确位置。如果在默认位置安装Tcl / Tk,只需重新运行“ make”即可构建_tkinter扩展名。

我猜测tkinter仍与我PC中的旧python相关联。我如何更改它以便python3可以使用tkinter?


19
“ sudo apt-get install python3-tk”为Python3 +安装tkinter
markfknight,2012年

Answers:


7

由于您提到了突触,所以我认为您正在使用Ubuntu。您可能需要运行update-python-modules来更新适用于Python 3的Tkinter模块。

编辑:运行update-python-modules

首先,请确保已python-support安装:

sudo apt-get install python-support

然后,运行update-python-modules-a选项以重建所有模块:

sudo update-python-modules -a

我不能保证所有模块都会构建,因为Python 2和Python 3之间有一些API更改。


19
“ sudo apt-get install python-support”导致以下错误“ E:软件包'python-support'没有安装候选程序”
jason 2016年

5
E: Package 'python-support' has no installation candidate尽管我正在从docker运行Tensorflow映像,但我也遇到了与@jason相同的错误。有人知道如何解决吗?
查理·帕克

18
@CharlieParker在Ubuntu 16.04 LTS上,我能够通过apt-get install python3-tk
rohitmohta

对于使用的人E: Package 'X' has no installation candidate,您应该sudo apt-get update先运行。
丹尼尔·帕特里克

294

在Ubuntu中对我有用的实际上是:

sudo apt-get install python3-tk

对于python 3.6:

sudo apt-get install python3.6-tk

我没有在任何地方阅读,我只是尝试了一下,因为onteria_的方法似乎不适用于我。


8
我确实需要此软件包,但是请记住,的名称Tkinter现在tkinter在Python3中,因此其他答案仍然有意义。
路加·马林

我执行的第一个命令连接失败,但是第二个命令运行正常
Lost Crotchet

我不知道发生了什么,sudo apt-get install python3-tk对我不起作用(仍未找到tkinter),但是python3-tk通过突触安装确实起作用。(Ubuntu 16.04 with python 3.6)
Georg


20

在python 3 Tkinter中重命名为tkinter


这就是问题的答案。PS:如果使用shebang运行脚本,请不要忘记使用“#!/ usr / bin / python3”。在Ubuntu 12.04的Python的例子默认的版本是2.7.3所以“Tkinter的”将与工作,但没有与Python 3 “#在/ usr / bin中/蟒蛇!”
rbaleksandar

其次,这是对这个问题的最好,最简单的答案
Hamman Samuel


13

使用以下命令:

sudo apt-get install python3-tk

以下命令不起作用:

sudo apt-get install python3-tkinter
sudo apt-get install python3-Tkinter
pip3 install Tkinter
pip3 install tkinter

8

如果您将Ubuntu 18.04与Python 3.6一起使用,则pip或pip3将无济于事。您需要tkinter使用以下命令进行安装:

sudo apt-get install python3-tk

4

这对我有用:

from tkinter import *
root = Tk()
l = Label(root, text="Does it work")
l.pack()

3

我有同样的问题。我尝试使用:

sudo apt-get install python3-tk

它给出了一个错误,指出blt(> = 2.4z-7)不存在并且无法安装。

我去这里并手动安装它。(对于Ubuntu 14.04)

然后,我再次使用apt,它起作用了。

我得出的结论是,Ubuntu中的python3.4并未随附进行安装所需的.so文件。并且需要blt来下载它。


1

我发现这是在寻找针对python 3.5的修复程序。

就我而言,我是从源代码构建python的,以下是我为帮助修复的工作:

使用添加tkinter标头并重建python

sudo apt-get install tk8.6-dev
sudo make

1

并称,我面临的解决方案python 3.4Fedora 21。希望这对面临类似问题的人有所帮助。

这些命令中的任何一个都将安装tkinter

sudo yum install python3-tkinter
OR
sudo dnf install python3-tkinter

1

为CentOs 7添加解决方案(python 3.6.x)

yum install python36-tkinter

我尝试了所有可能的版本,希望可以对其他版本有所帮助。


0

Tkinter的要求:

python 3.6+

然后去shell编写测试代码,例如:

从tkinter导入*

根= Tk()

root.mainloop()

在此处输入图片说明

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.