[英]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.