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

esc*_*esc 7 python linux pip scipy travis-ci

现在支持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 
Run Code Online (Sandbox Code Playgroud)

代替:

Collecting scipy
  Downloading scipy-0.17.1-cp27-cp27mu-manylinux1_x86_64.whl (39.5MB)
    100% |????????????????????????????????| 39.5MB 37kB/s 
Run Code Online (Sandbox Code Playgroud)

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

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

ogr*_*sel 9

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

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

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

  • 另外,“m”和“mu”变体之间有什么区别? (2认同)

gdl*_*lmx 8

从 pip 版本 19.3 开始, TargetPython.get_tags()返回受支持的PEP 425 标签以检查轮候选(来源)。标签按优先顺序返回(最优先的优先)。

from pip._internal.models.target_python import TargetPython
target_python = TargetPython()
pep425tags = target_python.get_tags()
Run Code Online (Sandbox Code Playgroud)

TargetPython类封装了 Python 解释器的属性,该解释器的目标是包安装、下载等。