猿问

Python 为 Windows 生成 SOABI/扩展后缀 (pep 3149)

当我在 MacOS/Linux 上编译基于 cython 的 C 扩展时,我得到.so一个名称类似于foo.cpython-37m-darwin.so. 我可以使用以下方法获取扩展后缀:


import sysconfig

print(sysconfig.get_config_var('EXT_SUFFIX'))  # .cpython-37m-darwin.so

print(sysconfig.get_config_var('SOABI'))  # cpython-37m-darwin

在 Windows 上,我正在使用 msys2-mingw 构建 C 扩展,我得到一个名为的文件foo.cp37-win_amd64.pyd,但sysconfig.get_config_var('EXT_SUFFIX')返回.pyd,并获取SOABI配置变量返回None。


有没有办法在 Windows 上可靠地重建正确的完整扩展后缀?


一只名叫tom的猫
浏览 149回答 1
1回答

PIPIONE

看起来distutils提供了正确的信息:import distutilsprint(distutils.sysconfig.get_config_var('EXT_SUFFIX'))  # .cp37-win_amd64.pyd
随时随地看视频慕课网APP

相关分类

Python
我要回答