Python版本和Tcl / Tk兼容性

我已经安装了Tcl和Tk,并且正在运行一个非常熟悉的“No module named _tkinter”错误。

我的“python”Bash命令运行Python版本2.4.2,但Synaptic说我已经安装了2.6.6。 我甚至尝试安装3.0,但也失败了。

我自己configuration​​并构build了Tcl / Tk tarball,并尝试使用突触包。

“wish”和“tclsh”命令都可以工作,所以我知道这些模块已经安装好了,但是我不能让Python认出它们。 此外,我不能为我的数字生活,我应该使用哪个版本的Python,以及如何让我的Bash命令使用该版本。

我没有看到2.4.2删除的任何选项,如果我删除2.6.6,它删除了似乎是我的其他包(夸张,我知道)的大部分。

我真的不知道该从哪里出发,所以任何指导都将不胜感激。

更新:

我不得不重新安装python-tk包,2.6能够导入它。 现在我只需要弄清楚如何删除2.4,以免后来搞砸了。

这里有几个命令可以帮助你诊断你的问题。

首先,尝试运行带有版本号的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解释器找不到的地方。 这里是由Ubuntu Lucid上的python-tk软件包安装的位置:

 % find /usr -name '_tkinter*' /usr/lib/python2.6/lib-dynload/_tkinter.so 

只是针对那些登陆这个页面的人的更新,关于Python 3+(就像我已经)。 要在基于Debian的Linux(Ubuntu)上运行tkinter ,需要python3 ,以及python3-tk (它不在库列表中):

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

另外,脚本需要把它作为第一行:

 #! /usr/bin/python3 

至少我是这样解决问题的。