2016-08-16 203 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