刚刚安装了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
关于我做错了什么的任何想法?
答案 0 :(得分:2)
这可能不是一个详尽的答案,但它可能会有所帮助。
可能是因为您的tcl/tk
版本不包含名为treectrl
的子包,来自以下错误:
_tkinter.TclError: can't find package treectrl
您使用TkTreectrl
tkinter
的包装程序库在某处有这样的声明:
ver = master.tk.call('package', 'require', 'treectrl')
表示您尝试从treectrl
导入包tk
,但显然该包不存在。我的建议是检查您的tcl/tk
版本,然后检查它是否包含treectrl
。
您可以使用以下命令检查tcl
和tk
版本(在Python 3上):
>>> import tkinter
>>> tkinter.TkVersion
8.5
>>> tkinter.TclVersion
8.5
>>>
也许从以下链接中,您可以查看treectrl
版本8.5中是否包含Tk
包:https://www.tcl.tk/man/tcl8.5/
同样,如果与我的版本不同,您可以为tcl/tk
版本执行此操作。
我的猜测是,您需要先为treectrl
发布版tcl/tk
安装import "github.com/rdegges/ipify-api/api"
。
答案 1 :(得分:0)
在LINUX中安装TkTreectrl时出现此错误。 发生此问题,TCL找不到treectrl程序包。 要解决此问题,您必须找到TCL正在寻找treectrl软件包的路径。 用以下几行创建一个名为test.tcl的TCL文件。
puts $tcl_pkgPath
puts $auto_path
在LINUX提示符下键入以下命令以运行代码并记下输出
tclsh test.tcl
在我的情况下,输出为
/usr/lib64/tcl8.6
我发现我的treectrl2.4.1目录位于/ usr / lib中,因此从LINUX提示符下输入了以下命令:
cd /usr/lib
cp -R treectrl2.4.1 /usr/lib64/tcl8.6/
那为我解决了这个问题。