如何判断Python的给定实例(在OS X上)是否使用--enable-framework
标志进行编译?
我尝试过的一件事并不完全是结论性的:
% python -c 'import sysconfig, pprint; pprint.pprint(sysconfig.get_config_vars())' | grep -i framework
'LIBS': '-ldl -framework CoreFoundation',
'PYTHONFRAMEWORK': '',
'PYTHONFRAMEWORKDIR': 'no-framework',
'PYTHONFRAMEWORKINSTALLDIR': '',
'PYTHONFRAMEWORKPREFIX': '',
'RESSRCDIR': 'Mac/Resources/framework',
'SHLIBS': '-ldl -framework CoreFoundation',
'WITH_NEXT_FRAMEWORK': 0,
答案 0 :(得分:2)
OS X框架构建的权威性测试:
./configure --enable-framework ...
是Python构建配置变量中存在PYTHONFRAMEWORK
。这个习惯用法在整个Python标准库中使用:
if get_config_var("PYTHONFRAMEWORK"):
# framework build
例如,参见sysconfig
模块本身第221行的this test。