将Tcl/Tk与Python 2.5链接

0 投票
1 回答
1108 浏览
提问于 2025-04-15 16:13

我有一个已经在用的Python 2.4版本,它和tkinter配合得很好,我用以下代码测试过:

python

import _tkinter

import Tkinter
Tkinter._test()

现在,我安装了Python 2.5.2,但当我用这个新版本做同样的测试时,它返回了一个错误(不过之前的版本测试是没问题的):

ImportError: No module named _tkinter

我知道我的电脑上已经安装了tcl8.5和tk8.5,因为我用以下命令查找它们的位置,结果如下:

whereis tcl
tcl: /usr/lib/tcl8.4 /usr/local/lib/tcl8.5 /usr/local/lib/tcl8.4 /usr/share/tcl8.4

whereis tk
tk: /usr/lib/tk8.4 /usr/local/lib/tk8.5 /usr/share/tk8.4

有没有什么办法可以让我的新Python版本和tkinter一起工作呢?

相关问题:

1 个回答

3

你找到的文件是用来直接链接到 tcl/tk 的。Python 还依赖另一个库:_tkinter.so。这个文件应该在 /usr/lib/python2.5/lib-dynload/_tkinter.so 这个位置。
你是怎么安装 python2.5 的?如果你使用的是 Debian 或 Ubuntu 系统,你需要安装 python-tk 这个包,才能支持 Tkinter。

如果 _tkinter.so 文件在那儿,但你的环境可能会导致一些问题。
如果你运行下面的命令:

python -E -c "import Tkinter;Tkinter._test()"

能成功,但如果运行下面的命令:

python -c "import Tkinter;Tkinter._test()"

失败了,那问题就出在你的环境设置上。检查一下 PYTHONPATH 的值是否设置正确。

撰写回答