程序包需要Tk-不在tclsh中工作
我试图在tclsh中加载Tk包,但无法加载它。谷歌搜索之后,我想修改自动路径可能会有所帮助。但不幸的是,这对我没有帮助 在我的Linux机器中,我可以运行tclsh和wish,它们都是v8.3;以下是我在tclsh上尝试的内容和愿望:程序包需要Tk-不在tclsh中工作,tcl,tk,Tcl,Tk,我试图在tclsh中加载Tk包,但无法加载它。谷歌搜索之后,我想修改自动路径可能会有所帮助。但不幸的是,这对我没有帮助 在我的Linux机器中,我可以运行tclsh和wish,它们都是v8.3;以下是我在tclsh上尝试的内容和愿望: % tclsh % package require Tk can't find package Tk % puts $auto_path /usr/share/tcl8.3 /usr/share /usr/lib % % wish % puts $auto_p
% tclsh
% package require Tk
can't find package Tk
% puts $auto_path
/usr/share/tcl8.3 /usr/share /usr/lib
%
% wish
% puts $auto_path
/usr/share/tcl8.3 /usr/share /usr/lib /usr/share/tk8.3
%
% tclsh
% lappend auto_path /usr/share/tk8.3
/usr/share/tcl8.3 /usr/share /usr/lib /usr/share/tk8.3
% package require Tk
can't find package Tk
%
有人能帮我解决这个问题吗
编辑:
我尝试了以下方法来让它工作。但一定有更好的办法
% tclsh
% load /usr/lib/libtk8.3.so
% package require Tk
8.3
8.3不支持将Tk作为标准包加载(现在基本上不支持;上一个8.3版本大约是10年前)。升级到8.5应该可以让一切正常;它可能在8.4中也能工作(但这也是lifed的结束)
(有一大堆原因导致它不能在8.3中工作;基本上,它需要添加额外的API函数——在8.4中完成——并且需要以正确的方式完成构建。这也是在8.4中完成的。)嗨,我不知道你的问题的答案,但我想我应该指出,你运行的是一个非常旧的TCL版本。您可能会通过升级来解决问题。谢谢Brian。我也要试试。