在 macOS 上更新 tcl/tk 版本的 Homebrew python3

Updating tcl/tk version of Homebrew python3 on macOS

我的环境:

macOS 10.13 python 来自自制软件的 3.7.1

我的股票 Tcl/TK 8.5 /System/Library/Frameworks/Tcl.framework/Versions/8.5/ 有很多 Tcl/TK 怪癖,我想升级我的 Tcl/TK.

但是对于这个问题我找不到任何升级的工作技巧,包括:

我的测试结果

  1. --with-tcl-tk 不再适用于最新的 Homebrew。 运行 brew install python --with-tcl-tk 仍然指向系统 Tcl/TK 8.5.9.
  2. 以上也用uninstall/install循环进行了测试。
  3. Python 安装最新的 ActiveTcl 后继续使用系统 Tcl/TK。

在多次失败之后,我得出结论,使这项工作最简单的方法是完全忘记 Homebrew,卸载它的 python 包。

然后安装最新的 ActiveTcl,然后安装 python.org 版本。 python.org 版本将在最新的 "System" Tcl/TK 之上运行,后者将在安装 ActiveTcl 后刷新。不幸的是,Homebrew 忽略了它。

来自 python.org 的当前 3.7.2 是用 Tcl/TK 8.6.8:

编译的
$ python3
Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
>>> print(tk.Tcl().eval('info patchlevel'))
8.6.8

更新后,一些错误(如复选按钮在菜单上显示错误的复选标记)消失了。

这 post 提供了一种简洁的方法:

不需要使用 actviveTk 或 python.org python 安装。

要点是为安装提供正确的 ENV。