【问题标题】:Tell what version of zlib python was built with告诉 zlib python 是用什么版本构建的
【发布时间】:2014-09-18 20:15:21
【问题描述】:

我如何知道python的zlib模块是用什么版本的C库构建的?

具体来说,我想知道它是否是一个足够新的版本来支持 ZLIB_RSYNC=1

这不同于zlib python的版本module,而是底层C库的版本

【问题讨论】:

    标签: python c include zlib shared-libraries


    【解决方案1】:

    zlib.ZLIB_VERSION:

    >>> import zlib
    >>> zlib.ZLIB_VERSION
    '1.2.7'
    

    【讨论】:

    • 显然我想要的 RYSNC 功能是一个贡献补丁,从未被合并
    【解决方案2】:

    试试下面的命令,看看zlib Python包是否可用以及它的版本:

    • 对于 Python 2.x:
    python -c "import zlib; print(zlib.__version__)"
    
    • 对于 Python 3.x:
    python3 -c "import zlib; print(zlib.__version__)"
    

    【讨论】:

      【解决方案3】:

      对于 c(推荐):

      cat > get_zlib_version.c << EOF
      #include<stdio.h>
      #include<zlib.h>
      
      int main()
      {
          printf("%s", ZLIB_VERSION);
          return 0;
      }
      EOF
      
      gcc get_zlib_version.c -o get_zlib_version && ./get_zlib_version
      

      对于 Python 2.x:

      # only show zlib version used for building the module, this may be different from the zlib library actually used at runtime
      python -c "import zlib; print(zlib.ZLIB_VERSION)"
      

      对于 Python 3.x:

      # The version string of the zlib library actually loaded by the interpreter.
      python -c "import zlib; print(zlib.ZLIB_RUNTIME_VERSION)"
      

      https://docs.python.org/3/library/zlib.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-28
        • 1970-01-01
        • 1970-01-01
        • 2012-06-25
        • 1970-01-01
        • 1970-01-01
        • 2020-06-21
        • 2015-08-29
        相关资源
        最近更新 更多