我已经安装了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
至少我是这样解决问题的。