MacOS 源代码构建,Python 3.11,缺少 _tkinter 支持

问题描述 投票:0回答:1

我正在尝试在 MacOS Ventura 上从源代码构建 Python 3.11。该构建缺少我需要的

_tkinter
模块。

我已经从源代码编译了自己的 Tcl/Tk 8.6 版本,并启用了 Aqua。分别安装在

/Library/Frameworks/Tcl.framework
Tk.framework

我已经设置了

TCLTK_CFLAGS
TCLTK_LIBS
环境变量(在配置输出中显示如下)。

当我运行配置脚本时,结果缺少

_tkinter
支持。
config.log
显示以下内容

configure:13714: gcc -o conftest   -I/Library/Frameworks/Tcl.framework/Headers/ -I/Library/Frameworks/Tcl.framework/Headers/  conftest.c -L/Library/Frameworks/Tcl.framework/ -ltclstub8.6 -L/Library/Frameworks/Tk.framework/ -ltkstub8.6  >&5
In file included from conftest.c:120:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/tk.h:31:3: error: Tk 8.5 must be compiled with tcl.h from Tcl 8.5
#       error Tk 8.5 must be compiled with tcl.h from Tcl 8.5

因此,由于某种原因,配置脚本的问题是查看 Xcode CLT,而不是

/Library/Frameworks
中的新源构建。

有没有办法让配置脚本直接查看我的 TclTk 构建?

我尝试从源代码构建和安装 Tcl 和 Tk 8.6,并期望 Python 的配置脚本通过

TCLTK_CFLAGS
TCLTK_LIBS
环境变量使用它们。

python xcode macos cpython tcltk
1个回答
0
投票

问题是我设置了

TCLTK_CFLAGS='-I/Library/Frameworks/Tcl.framework/Headers/ -I/Library/Frameworks/Tcl.framework/Headers/'

我没有包含 Tk 包含 例如

TCLTK_CFLAGS='-I/Library/Frameworks/Tcl.framework/Headers/ -I/Library/Frameworks/Tk.framework/Headers/'

菜鸟错误。设置完

TCLTK_LIBS='-L/Library/Frameworks/Tcl.framework/ -lTcl -L/Library/Frameworks/Tk.framework/ -lTk'
后,此配置步骤就完成了。

© www.soinside.com 2019 - 2024. All rights reserved.