Python pip如何决定使用多少个linux控制盘?
现在支持许多linux控制盘: 具体来说,我想在Travis上安装许多linux wheel for scipy,使用可靠的beta操作系统。此处列出了控制盘: 我得到:Python pip如何决定使用多少个linux控制盘?,python,linux,scipy,pip,travis-ci,Python,Linux,Scipy,Pip,Travis Ci,现在支持许多linux控制盘: 具体来说,我想在Travis上安装许多linux wheel for scipy,使用可靠的beta操作系统。此处列出了控制盘: 我得到: Collecting scipy Downloading scipy-0.17.1.tar.gz (12.4MB) 100% |████████████████████████████████| 12.4MB 100kB/s 而不是: Collecting scipy Downloading scipy
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控制盘
具体地说,我对替代解决方案不感兴趣,只要回答问题就行了。您需要pip 8.1或更高版本以及基于glibc的linux发行版(而不是像alpine linux那样的musl libc) 编辑:函数应按顺序返回支持的列表。Pip更喜欢在此列表中较早出现的控制盘标记,而不是稍后出现的标记
另外,我可以建议您使用python 3.5而不是2.7;) 因此,正确的答案是pip有一个支持的标签列表,并将尝试匹配这些标签
pip.pep425tags.get_supported()
将列出您平台的标记,并使用该列表匹配manylinux二进制轮子。对于pip 10,您需要运行:
从pprint导入pprint
导入pip.\u内部
pprint(pip.\u internal.pep425tags.get\u supported())
是的,一旦我能确认我们的技术堆栈与3.5兼容,我将切换到3.5。我有PIP8.1和ubuntu 14.04。另外,您没有按照要求回答问题。2.7MU变体似乎还没有上传(只有m变体可用于64位linux)。这可能是scipy发布管理器的疏忽。Python3没有这个问题,因为只有一种方法可以处理unicode。我刚刚又看了一眼,它似乎是昨天上传的scipy-0.17.1-cp27-cp27m-manylinux1\u x86\u 64.whl(md5,pgp)
。重新启动构建以检查它现在是否工作。还要感谢get_supported()
提示,这起到了作用。另外,m
和mu
变体之间有什么区别?我得到了一个错误,AttributeError:module'pip.\u internal'has no attribute'pep425tags
与python 3.9.1、pip 21.0.1。