我想让Python脚本为运行脚本的Python解释器的哪个版本构建Python扩展模块。
为此目的,我想动态地获取相关的C编译器标志--实现这一目标的一种方法是获取python-config CLI工具的输出,例如:
subprocess.check_output(["python-config", "--includes"])不幸的是,在安装了多个版本的Python的系统上,此方法可能找不到正确的python-config,也就是说,与当前运行的python-config版本相关联的python-config。(而且,从方法上讲,这也有点丑陋。)
有什么方法可以从Python内部获取这些信息吗?也许类似于Numpy的get_include
发布于 2016-10-01 13:06:52
我有答案:它是内置的sysconfig模块。

…提供访问python-config提供的相同信息的方法,包括但不限于:
get_python_version() (按你的想法来做),get_paths() (生成一个具有许多有用路径的dict ),get_config_var()和get_config_vars() (它们分别返回字符串和巨大的dict,以筛选所有低级别配置选项),get_config_h_filename() (生成源文件config.h ),parse_config_h() (只适用于最勇敢的配置水管工)…其中的前两个可能就足够了,对于任何寻求python-config值的人来说,不需要经过尴尬的subprocess舞蹈就能得到它。
https://stackoverflow.com/questions/28674924
复制相似问题