我正在尝试导入Tkinter。然而,我得到一个错误,说明Tkinter还没有安装:

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

我可以使用synaptic manager安装它(可以吗?),但是,我必须在我编程的每台机器上安装它。是否有可能将Tkinter库添加到我的工作区并从那里引用它?


当前回答

对于Fedora >= 25和python >= 3,我们可能需要包含Tkinter的依赖项

安装python3-tkinter

其他回答

您将需要这个包及其依赖项。

既然你提到了synaptic,那么你使用的一定是基于Debian的系统。有一种方法可以得到你需要的东西:

sudo apt-get install python-tk

对于Python 2.7:

就像这里说的,

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

就我而言,在Windows上,重新安装Python发行版对我有帮助。很久以前,我取消了“Tcl/Tk”安装特性。重新安装后,一切工作正常,我可以导入_tkinter和导入Tkinter。

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

Python.org强烈建议从ActiveState下载tkinter,但你应该先阅读他们的许可(提示:不要重新发布或需要支持)。

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

我遵循OSXDaily从2012年开始的修复,建议允许来自任何地方。但是OS X现在增加了一个“无论如何打开”选项,以允许(例如)Active-Tcl作为一次关闭,并且“任何地方”选项获得了一个超时。

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

在您的机器上apt-get安装python-tk会更安全。 (适用于debian衍生的发行版,如Ubuntu;请参考其他发行版上的包管理器和包列表。)

如果像我一样,由于你在i.s.中的朋友,你在你的网络上没有根权限,并且你在本地安装,你可能会在上述方法中遇到一些问题。

我在谷歌上花了很多时间,但最后,它很简单。

从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安装目录中重新运行python setup.py build和python setup.py install -它应该可以工作。它为我工作-我现在可以导入Tkinter等到我的心的内容- yipidy-yay。一整个下午都花在这上面——希望这张纸条能让其他人免于痛苦。