在 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.
但是对于这个问题我找不到任何升级的工作技巧,包括:
-
IDLE warns against an old TCL version even though I've installed a newer version
Why my Python installed via home brew not include Tkinter
How to change the tk version of your Python installation?
我的测试结果
--with-tcl-tk
不再适用于最新的 Homebrew。 运行 brew install python --with-tcl-tk
仍然指向系统 Tcl/TK 8.5.9.
- 以上也用uninstall/install循环进行了测试。
- 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。
我的环境:
macOS 10.13 python 来自自制软件的 3.7.1
我的股票 Tcl/TK 8.5 /System/Library/Frameworks/Tcl.framework/Versions/8.5/
有很多 Tcl/TK 怪癖,我想升级我的 Tcl/TK.
但是对于这个问题我找不到任何升级的工作技巧,包括:
IDLE warns against an old TCL version even though I've installed a newer version
Why my Python installed via home brew not include Tkinter
How to change the tk version of your Python installation?
我的测试结果
--with-tcl-tk
不再适用于最新的 Homebrew。 运行brew install python --with-tcl-tk
仍然指向系统 Tcl/TK 8.5.9.- 以上也用uninstall/install循环进行了测试。
- 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。