2016-08-16 72 views
0


使用python2.7 Tkinter来执行Tcl。Python Tkinter:软件包“Tcl”的版本冲突:有8.4,需要8.5

Tcl代码有package require Tcl 8.5,而tclsh默认加载Tcl 8.4。
原因:包“Tcl”的版本冲突:有8.4,需要8.5

我有libtcl8.5.so安装在自定义位置。 试图将其添加到LD_LIBRARY_PATH,TCL_LIBRARY,TCLLIBPATH。没有工作。这就像tclsh完全忽略了envs。

回答

0

最终什么工作:
tcl = Tkinter.tcl() tcl.eval('package forget Tcl') tcl.eval('package provide Tcl 8.5') tcl.eval('package require Tcl') 8.5

成功!

+0

该代码可能表示'包需要Tcl 8.5',因为它取决于添加到Tcl 8.5中的功能,例如字典或扩展语法。你所做的只是在你的代码中加入一个时间炸弹...... –

+0

你的意思是这个命令序列不干净,可能会导致tcl执行出现问题?我无法在我的系统中升级libtcl。因此,黑客 – Tapomay