【问题标题】:Tkinter TclError can't find package TixTkinter TclError 找不到包 Tix
【发布时间】:2015-03-01 08:40:15
【问题描述】:

这个问题类似于this other question

当我在 Mac OS X 上运行以下代码时(在 Windows 上运行良好):

import Tix 
root = Tix.Tk()

我收到以下错误消息:

Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tix.py", 第 221 行,在 init self.tk.eval('package require Tix') _tkinter.TclError: 找不到包 Tix

Python 文档描述了issue,但下面的答案对我的情况没有帮助:

如果此操作失败,则您有一个 Tk 安装问题,必须在继续之前解决该问题。使用环境变量 TIX_LIBRARY 指向已安装的 Tix 库目录,并确保动态对象库(tix8183.dll 或 libtix8183.so)与包含 Tk 动态对象库(tk8183.dll 或 libtk8183)的目录相同。所以)。包含动态对象库的目录还应该有一个名为 pkgIndex.tcl(区分大小写)的文件,其中包含以下行:

package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]

如果有人遇到此错误并找到解决方法,请填写。

【问题讨论】:

  • 如果您使用的是 Python 3.x(您没有说)那么这是正确的页面 docs.python.org/3.3/library/tkinter.tix.html
  • 感谢 Curly Joe,无论如何,它都是相同的信息。我认为这不是 python 2.x 或 3.x 问题,而是 Tix 问题。
  • 在文档中,在安装测试代码的正下方,有一段以If this fails...开头的段落你试过这些步骤吗?
  • 嗨 Lafexios,是的,我试过了,不幸的是它不起作用,因为这些文件不存在。答案一定是为旧版本的 Tix 编写的。互联网上的其他人也尝试过,但都失败了。我正在寻找有人遇到同样问题并找到解决方法的解决方案。
  • """谢谢 Curly Joe,无论如何,它都是相同的信息。我认为这不是 python 2.x 或 3.x 问题,而是 Tix 问题。""" -- 不是相同的信息;这就是我想说的。 Python 3.x 的导入方式不同。如果你需要一些帮助,至少发布 python 正在使用的版本=print(sys.version)

标签: python tkinter tk tix


【解决方案1】:

根据 Terry 对 Python.org 用户组的询问:

  1. 如果您使用的是 64 位 Mac OSX,那么您就很不走运了。

  2. 如果你碰巧有一个 32 位运行的并且安装了 Tcl,你可以简单地使用 teacup 安装 Tix(它类似于 pip 并且它随 Tcl 一起安装)

    sudo teacup install Tix

  3. Tix过时(小部件样式和文档维护),最好使用Ttk

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 2022-01-04
    • 2019-04-30
    相关资源
    最近更新 更多