pip如何决定使用哪个linux轮?

问题描述 投票:7回答:3

现在支持Binary many-linux wheel:

https://github.com/pypa/manylinux

具体来说,我想使用可靠的beta操作系统在Travis上安装许多用于scipy的linux wheel。车轮列在这里:

https://pypi.python.org/pypi/scipy/0.17.1

我明白了:

Collecting scipy
  Downloading scipy-0.17.1.tar.gz (12.4MB)
    100% |████████████████████████████████| 12.4MB 100kB/s 

代替:

Collecting scipy
  Downloading scipy-0.17.1-cp27-cp27mu-manylinux1_x86_64.whl (39.5MB)
    100% |████████████████████████████████| 39.5MB 37kB/s 

所以,为了解决这个问题,我想知道,pip如何确定下载和安装哪个轮子。是的,我确实将pip更新到版本8.1.2,它支持二进制许多linux轮子。

具体来说,我对替代解决方案不感兴趣,只要回答问题,如果可以的话。

python linux scipy pip travis-ci
3个回答
9
投票

你需要pip 8.1或更高版本以及基于glibc的linux发行版(而不是musl libc作为alpine linux)。

编辑:函数pip._internal.pep425tags.get_supported()应按顺序返回支持的platform tags列表。 Pip喜欢此列表中较早出现的轮标签,而不是稍后出现的标签。

我也建议你使用python 3.5代替2.7;)


2
投票

对于第10点,您需要运行:

from pprint import pprint
import pip._internal
pprint(pip._internal.pep425tags.get_supported())

1
投票

所以,正确的答案是pip有一个支持的标签列表,并会尝试匹配这些标签。 pip.pep425tags.get_supported()将列出您平台的标签,并将使用该列表来匹配manylinux二进制轮。

© www.soinside.com 2019 - 2024. All rights reserved.