tkinter TclError:找不到软件包treectrl

问题描述 投票:1回答:2

仅安装了tktreectrl,如本教程所示:https://www.youtube.com/watch?v=ddpYVA-7wq4,但是当我尝试运行我的程序时,出现此错误。

Traceback (most recent call last):
File "E:/Python/Competition/Competition.py", line 36, in <module>
listbox = TkTreectrl.MultiListbox(window)
File "E:\Programs\Python\lib\site-packages\TkTreectrl\MultiListbox.py",line 50, in __init__
Treectrl.__init__(self, master, showroot=showroot, **kw)
File "E:\Programs\Python\lib\site-packages\TkTreectrl\Treectrl.py", line 489, in __init__
ver = master.tk.call('package', 'require', 'treectrl')
_tkinter.TclError: can't find package treectrl

关于我做错了什么的想法?

python-3.x tkinter tcl tk python-module
2个回答
2
投票

这可能不是详尽的答案,但可能会有所帮助。

可能是由于以下错误,您的tcl/tk版本不包含名为tcl/tk的子程序包:

treectrl

您正在将_tkinter.TclError: can't find package treectrl 用于TkTreectrl的包装库在某处有此语句:

tkinter

这意味着您正在尝试从ver = master.tk.call('package', 'require', 'treectrl') 导入软件包treectrl,但显然该软件包不存在。我的建议是签出您的tk版本,然后检查它是否包含tcl/tk

您可以使用以下命令(在Python 3上,检查treectrltcl版本:]

tk

也许可以通过以下链接检查>>> import tkinter >>> tkinter.TkVersion 8.5 >>> tkinter.TclVersion 8.5 >>> 8.5版中是否包含treectrl软件包:Tk

类似地,如果您的https://www.tcl.tk/man/tcl8.5/版本与我的版本不同,也可以使用。

我的猜测是,您首先需要安装tcl/tk,对于您的treectrl发行版可能是extension


0
投票

在LINUX中安装TkTreectrl时出现此错误。发生此问题,TCL找不到treectrl程序包。要解决此问题,您必须找到TCL正在寻找treectrl软件包的路径。用以下几行创建一个名为test.tcl的TCL文件。

tcl/tk

在LINUX提示符下键入以下命令以运行代码并记下输出

puts $tcl_pkgPath
puts $auto_path

就我而言,输出为

tclsh test.tcl

我发现我的treectrl2.4.1目录位于/ usr / lib中,因此从LINUX提示符下输入了以下命令:

/usr/lib64/tcl8.6

这为我解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.