当我尝试从 pypi 安装 python 包时,不知何故默认安装了 yanked 版本。
根据 terminado 包的历史记录:https://pypi.org/project/terminado/#history 版本 0.13.0 被拉了,但是当运行以下
h-ishida@0bbb747d2765:~$ pip install terminado==foo 错误:无法 找到满足 terminado==foo 要求的版本(来自 版本:0.1、0.2、0.3、0.3.1、0.3.2、0.3.3、0.4、0.5、0.6、0.7、0.8、 0.8.1, 0.8.2, 0.8.3, 0.13.0) 错误:找不到与 terminado==foo
匹配的分布
列出的最上面的版本是 0.13.0,它被拉了,当尝试在没有任何版本说明的情况下安装它时,安装了 0.13.0。
注意 pip 版本是
9.0.1
for python2。问题是0.13.0不再兼容python2,所以安装出错。
这个错误的原因是什么?这是
pip
还是pypi的bug?还是我做错了什么?
完全有可能你使用的是一个有问题的(三岁!五岁)版本的 Pip,它不知道被抽取的版本或者无法弄清楚哪些版本的包支持 Python 2 和Python 3,还有 Python 2 已经停产并停止支持 3 年,所以你一开始就不应该使用它。
terminado==0.8.3
是最后一个支持 Python 2 的版本(基于 py2.py3
轮子的存在),所以如果你真的需要就明确安装它。