[英]making python pip figure out the correct package version to download
我已经多次遇到这个问题了。 基本上,在工作中我们在Windows上使用旧版本的python(2.5),并且通常当我这样做时,例如pip install zope.interface
pip总是下载最新版本的软件包,无论我的python版本是否支持该软件包或不。 所以上面的例子将下载4.0.1虽然PKG-INFO没有列出python 2.5作为支持的版本因此我得到一个安装错误
File "C:\Users\jamaam\build\zope.interface\setup.py", line 42
except DistutilsPlatformError as e:
我想pip更智能,并安装我的python版本支持的最高版本的软件包(在这个例子中为3.8.0 ),可能警告这个软件包不是最新的,没有我必须搜索interweb在我的环境中手动查找可安装的版本。
反正有没有这样做?
以下是PKG-INFO的一些内容,显然没有列出python 2.5
381 Classifier: Operating System :: OS Independent
382 Classifier: Programming Language :: Python :: 2.6
383 Classifier: Programming Language :: Python :: 2.7
384 Classifier: Programming Language :: Python :: 3
385 Classifier: Programming Language :: Python :: 3.2
386 Classifier: Topic :: Software Development :: Libraries :: Python Modules
没有; 没有元数据可以进行这样的调用,因此没有任何pip
(或任何其他工具)可以用来确定哪个版本的软件包适用于您的python版本。
您唯一的选择是在安装时使用版本引脚:
pip install -I zope.interface==3.8.0
注意-I
在那里切换; 由于您已经尝试安装最新版本,因此可能需要忽略任何已安装的版本以强制降级。
请注意,此任务不能依赖Trove python版本分类器( Classifier: Programming Language :: Python :: *
); 它们是由开发人员设置的,如果他们记得这样做,但是稍后无法更新以表明与新python版本的兼容性。 它们应该被视为一种帮助优化PyPI和其他包索引的搜索的方法,而不是安装程序使用的元数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.