首页 > 解决方案 > macos _tkinter TclError: 找不到包 Tix

问题描述

在Macos中,当我编译一个python程序时,它会出现:_tkinter TclError: can't find package Tix

如何重新爱它?

标签: pythonmacostkintertix

解决方案


这是我的问题,花了我一整天的时间,我只是想记录它或帮助别人。

下载软件

  1. 下载xQuartz: 下载xQuartz

  2. 下载 Tcl 8.5 和 Tk 8.5

    (1) weblink goto:Tcl Tk下载链接

    (2) 在网页底部,选择您想要的版本。

    I choose the tcl8519-src.zip and the tk8519-src.zip
    

    (3) 记住:需要下载相同的版本。

  3. 在 Tix 8.4 下,版本可能与 tcl/tk 不同。

    网址为: Tix 下载

准备*

  1. 你可以得到:XQuartz-2.8.1.dmg,只需打开并使用默认选项安装它。

  2. 创建一个名为“src”的目录,建议不要更改“src”目录名称。

  3. 将所有三个 zip 文件移动到 src 目录。

  4. 双击,只需解压缩所有三个文件。

编译

  1. 编译tcl

    [ 提示:不需要 make install ]

    cd /Users/lee/tcltktix/src/tcl8.5.19/macosx/
    ./configure --enable-threads --enable-symbols --enable-shared --enable-framework --enable-64bit
    make
    
  2. 编译 tx,并安装它

[重要] --with-tcl=**** 替换你的真实目录。

“dir--with-tcl”的最后一个字符,必须是“/”

   cd /Users/lee/tcltktix/src/tk8.5.19/macosx/
   ./configure --enable-threads --enable-symbols --enable-shared --enable-framework --enable-aqua  --with-tcl=/Users/lee/tcltktix/src/tcl8.5.19/macosx/
   make
   sudo make install
  1. 编译 Tix 并安装它

[重要] --with-tcl=**** --with-tk=**** 替换您的真实目录。

“dir--with-**”的最后一个字符,必须是“/”

   cd /Users/lee/tcltktix/src/Tix8.4.3
   ./configure --enable-threads --enable-shared --enable-framework LDFLAGS="-L/usr/X11/lib" --with-tcl=/Users/lee/tcltktix/src/tcl8.5.19/macosx/  --with-tk=/Users/lee/tcltktix/src/tk8.5.19/macosx/
   make
   sudo make install

现在已经安装了 Tix。

问题

  1. 如果接收找不到 tclConfig.h:

    检查您的编译配置命令集中的目录,是否有“/”是最后一个字符?

2.如果你mac反馈一个致命错误:'X11/Xlib.h' file not found during compile,你应该链接文件:

ln -s /opt/X11/include/X11 /usr/local/include/X11

查看

   MacBook-Air-1531:~ lee$ python3
   Python 3.7.5 (v3.7.5:5c02a39a0b, Oct 14 2019, 18:49:57)
   [Clang 6.0 (clang-600.0.57)] on darwin
   Type "help", "copyright", "credits" or "license" for more information.
   >>> from tkinter import tix
   >>> 
   >>> root = tix.Tk()
   >>>

现在,出现了一个标题为“tix”的窗口。

祝贺!!!


推荐阅读