簡體   English   中英

制作python pip找出要下載的正確軟件包版本

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM