代码之家  ›  专栏  ›  技术社区  ›  blueFast

此平台上没有受支撑的车轮

  •  1
  • blueFast  · 技术社区  · 4 年前

    我有一个轮子可以安装在主机上,但不能安装在docker容器上。一些细节:

    • 操作系统在两者中都是一样的(Ubuntu 20.04)
    • Python在这两个版本(3.6.15)中都是一样的,但编译的时间不同(所以我不能说它们有不同的标志)
    • pip 在这两个系统中都是一样的( pip 21.3.1 )

    我正在使用以下命令运行安装命令:

    pip install ./coverage-5.5-cp36-cp36m-manylinux2010_x86_64.whl
    

    我的主机系统很满意,但docker容器出现以下故障:

    ERROR: coverage-5.5-cp36-cp36m-manylinux2010_x86_64.whl is not a supported wheel on this platform.
    

    我想知道具体的标准是什么 pip install 用于决定包是否可安装:

    • 它是在使用操作系统的细节吗?哪一个?那些是从哪里读来的?如果我知道这一点,我就能理解一个系统和另一个系统之间的区别。在我看来他们是一样的,但也许我遗漏了什么
    • 除了版本之外,它还使用了Python本身的细节吗?版本相同,但启用的功能可能不同。我该怎么查?

    编辑

    在篡改了 皮普 消息来源,看来我的轮子被贴上了标签 cp36-cp36m-manylinux2010_x86_64 据pip称,但docker系统支持(在数不清的系统中), cp36-cp36dm-manylinux2010_x86_64 .这是最接近的一个,但有一个 d 我不知道这是什么意思。

    所以现在我需要理解 cp36m cp36dm

    1 回复  |  直到 4 年前
        1
  •  1
  •   user2357112    4 年前

    cp36dm 是ABI标签和 d 意味着调试版本。docker容器似乎正在使用Python 3.6的调试版本,这与为非调试版本编译的C扩展代码不兼容。(Python 3.8) removes 这是不兼容的,但你在3.6上。)