【问题标题】:How to find platform/version string for compiled Python modules?如何查找已编译 Python 模块的平台/版本字符串?
【发布时间】:2018-02-14 19:36:56
【问题描述】:

我正在使用 swig 生成 Python 绑定到 C++ 项目。这给了我一个文件,例如在一台机器上_libdivvun.cpython-36m-x86_64-linux-gnu.so,在另一台机器上_libdivvun.cpython-3.5m.so,甚至在同一台机器上使用不同 Python 版本的_libdivvun.cpython-35m-darwin.so。对于多个平台的测试和打包,我希望能够在_libdivvun 之后为特定的 Python 版本获取字符串——有没有“正确”的方法来做到这一点?我似乎不能只使用$PYTHON --versionuname,因为例如在 darwin 平台上与 LibreOffice 捆绑的 Python 不包含 darwin 字符串(但在 Python 版本中有一个额外的点!)。

【问题讨论】:

    标签: python binding swig platform abi


    【解决方案1】:

    解决方案在https://www.python.org/dev/peps/pep-3149/#proposal:

    >>> sysconfig.get_config_var('EXT_SUFFIX')
    '.cpython-32mu.so'
    >>> sysconfig.get_config_var('SOABI')
    'cpython-32mu'
    

    【讨论】:

      猜你喜欢
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 2020-03-30
      相关资源
      最近更新 更多