如何判断python实例是否编译为框架?

时间:2013-04-01 21:40:29

标签: python macos

如何判断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,

1 个答案:

答案 0 :(得分:2)

OS X框架构建的权威性测试:

./configure --enable-framework ...

是Python构建配置变量中存在PYTHONFRAMEWORK。这个习惯用法在整个Python标准库中使用:

if get_config_var("PYTHONFRAMEWORK"):
    # framework build

例如,参见sysconfig模块本身第221行的this test