python之wheel 包命名規則、abi 兼容和安裝


一、windows安裝python包,遇見的問題

  1、python3以后的版本,安裝python包,可以直接使用pip安裝,但是安裝時偶爾報錯

  2、安裝python源碼包,如何確定自己該安裝哪個版本,一看就暈倒~~~(沒人扶,/(ㄒoㄒ)/~~)

一、wheel 包的命名規定

wheel 包的命名格式為 {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl

1、python tag

  • py 無實現特定的拓展

  • cp CPython,也就是通常使用的 CPython 實現,大多數

  • ip IronPython,跑在 Windows CLI 平台上的 Python 實現

  • pp PyPy,帶 JIT 的 Python 實現

  • jy Jython,跑在 JVM 上的 Python 實現

2、platform tag就是自己的平台

3、api tag

如果 sysconfig 定義了 SOABI ,那么就用 SOABI 的值。

二、如何判斷給定 wheel 包是否能夠安裝(看了之后就不省人事了~~~)

通常判斷依賴的時候,需要看下是否符合最低版本。不過 pip 判斷給定 wheel 包的 abi 兼容的做法與此有些許差異。pip 的做法是,計算出一個支持的 abi tag 集合,然后判斷目標 abi tag 是否在這個集合里。這個計算過程跟在打包時是一樣的。這意味着,打包拓展的 CPython 需要跟安裝的機器上的 CPython 版本是一致的,否則就裝不了。對於“永遠的2.7”來說,這不是什么問題;不過如果用的是 Python 3,又不能控制具體的 CPython 版本,對於 C 拓展還是現場編譯安裝比較靠譜。

三、說了半天有沒有簡單方法

from pip import pep425tags
print(pep425tags.get_supported())

這里就查看到自己的python所支持的wheel包:('python Tag','abi Tag','platform tag')

四、具體使用

查看以后到相應的wheel包,下載安裝即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM