我已经安装了Tcl和Tk,而且我遇到了一个非常熟悉的“没有名为_tkinter的模块”错误。
我的'python'Bash命令运行Python版本2.4.2,但Synaptic表示我安装了2.6.6。我甚至尝试过安装3.0,但也失败了。
我自己配置并构建了Tcl / Tk tarball,并尝试使用synaptic包。
“wish”和“tclsh”命令都有效,所以我知道模块已经安装,但我不能让我的生活让Python认识到它们。而且,我不能为我的生活弄清楚我应该使用哪个版本的Python以及如何让我的Bash命令使用那个版本。
我没有看到2.4.2删除的任何选项,如果我删除2.6.6,它会删除我的其他大部分包(夸大其词,我知道)。
我真的不知道从哪里开始,所以任何指导都会非常感激。
我不得不重新安装python-tk包,2.6能够导入它。现在我只需要弄清楚如何删除2.4,以免后来搞砸了。
答案 0 :(得分:1)
以下是一些可以帮助您诊断问题的命令。
首先,尝试运行附加版本号的python
命令。以来
Synaptic说你安装了2.6.6,你应该可以运行python2.6
得到那个版本:
(type 'python' and hit TAB to see possible completions)
% python<tab>
python
python2.6
python3.1
如果仍然无法运行TK,请找到_tkinter.so
模块所在的位置
你的系统。它可能是2.6.6解释器找不到它的某个地方。这是由python-tk
软件包在Ubuntu Lucid上安装的位置:
% find /usr -name '_tkinter*'
/usr/lib/python2.6/lib-dynload/_tkinter.so
答案 1 :(得分:1)
对于那些登陆此页面的人来说,只关于Python 3+的更新(就像我一样)。要在基于Debian的Linux(Ubuntu)上运行tkinter
,需要python3
,以及python3-tk
(它不在库列表中):
sudo apt-get install python3
sudo apt-get install python3-tk
此外,脚本需要将此作为第一行:
#! /usr/bin/python3
至少这就是我解决问题的方法。