解決pip安裝報錯:is not a supported wheel on this platform

原因1

你下載安裝的包不是當前平臺所支持的

原因2

你下載的包,不符合你所在的平臺的安裝whl的名稱規範,所以出錯。
比如當前我要安裝的包是:PyMuPDF-1.16.16-cp36-cp36m-manylinux2010_x86_64.whl

但是在我的系統中使用如下命令安裝:

pip3 install PyMuPDF-1.16.11-cp36-cp36m-manylinux2010_x86_64.whl 

但是出現了下面的錯誤提示:

PyMuPDF-1.16.11-cp36-cp36m-manylinux2010_x86_64.whl is not a supported wheel on this platform.

解決辦法1

在shell中運行python,然後輸入如下的命令:

>>import pip;print(pip.pep425tags.get_supported())

輸出結果如下:

[('cp36', 'cp36m', 'manylinux1_x86_64'), ('cp36', 'cp36m', 'linux_x86_64'), ('cp36', 'abi3', 'manylinux1_x86_64'), ('cp36', 'abi3', 'linux_x86_64'), ('cp36', 'none', 'manylinux1_x86_64'), ('cp36', 'none', 'linux_x86_64'), ('cp35', 'abi3', 'manylinux1_x86_64'), ('cp35', 'abi3', 'linux_x86_64'), ('cp34', 'abi3', 'manylinux1_x86_64'), ('cp34', 'abi3', 'linux_x86_64'), ('cp33', 'abi3', 'manylinux1_x86_64'), ('cp33', 'abi3', 'linux_x86_64'), ('cp32', 'abi3', 'manylinux1_x86_64'), ('cp32', 'abi3', 'linux_x86_64'), ('py3', 'none', 'manylinux1_x86_64'), ('py3', 'none', 'linux_x86_64'), ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

其中有一個('cp36', 'cp36m', 'manylinux1_x86_64')意味着如果我要安裝python3.6版本的whl,那麼我的whl文件中應該是manylinux1_x86_64而不是manylinux2010_x86_64,所以我將文件名改成PyMuPDF-1.16.11-cp36-cp36m-manylinux1_x86_64.whl,然後再進行安裝,結果安裝成功。

解決方法2

在方法1中,我們通過import pip;print(pip.pep425tags.get_supported())得到文件支持的格式,但是這個命令應該只適用於低版本的pip,比如pip 9.0.1.如果我們的系統是高版本的系統,可以使用下面的命令:

>>> import pip._internal.pep425tags;print(pip._internal.pep425tags.get_supported())

比如如果pip版本是pip 20.0.2,那麼得到的結果是:

[<cp36-cp36m-manylinux2014_x86_64 @ 140387595805896>, <cp36-cp36m-manylinux2010_x86_64 @ 140387594919752>, <cp36-cp36m-manylinux1_x86_64 @ 140387594919624>, <cp36-cp36m-linux_x86_64 @ 140387594919816>, <cp36-abi3-manylinux2014_x86_64 @ 140387594985544>, <cp36-abi3-manylinux2010_x86_64 @ 140387594985608>, <cp36-abi3-manylinux1_x86_64 @ 140387594985672>, <cp36-abi3-linux_x86_64 @ 140387594985736>, <cp36-none-manylinux2014_x86_64 @ 140387594985864>, <cp36-none-manylinux2010_x86_64 @ 140387594985928>, <cp36-none-manylinux1_x86_64 @ 140387594985992>, <cp36-none-linux_x86_64 @ 140387594986056>, <cp35-abi3-manylinux2014_x86_64 @ 140387594986184>, <cp35-abi3-manylinux2010_x86_64 @ 140387594986248>, <cp35-abi3-manylinux1_x86_64 @ 140387594986312>, <cp35-abi3-linux_x86_64 @ 140387594986376>, <cp34-abi3-manylinux2014_x86_64 @ 140387594986504>, <cp34-abi3-manylinux2010_x86_64 @ 140387594986568>, <cp34-abi3-manylinux1_x86_64 @ 140387594986632>, <cp34-abi3-linux_x86_64 @ 140387594986696>, <cp33-abi3-manylinux2014_x86_64 @ 140387594986824>, <cp33-abi3-manylinux2010_x86_64 @ 140387594986888>, <cp33-abi3-manylinux1_x86_64 @ 140387594986952>, <cp33-abi3-linux_x86_64 @ 140387594987016>, <cp32-abi3-manylinux2014_x86_64 @ 140387594987144>, <cp32-abi3-manylinux2010_x86_64 @ 140387594987208>, <cp32-abi3-manylinux1_x86_64 @ 140387594987272>, <cp32-abi3-linux_x86_64 @ 140387594987336>, <py36-none-manylinux2014_x86_64 @ 140387594987656>, <py36-none-manylinux2010_x86_64 @ 140387594987464>, <py36-none-manylinux1_x86_64 @ 140387594987592>, <py36-none-linux_x86_64 @ 140387594987720>, <py3-none-manylinux2014_x86_64 @ 140387594987848>, <py3-none-manylinux2010_x86_64 @ 140387594987912>, <py3-none-manylinux1_x86_64 @ 140387594987976>, <py3-none-linux_x86_64 @ 140387594988040>, <py35-none-manylinux2014_x86_64 @ 140387594988168>, <py35-none-manylinux2010_x86_64 @ 140387594988232>, <py35-none-manylinux1_x86_64 @ 140387594988296>, <py35-none-linux_x86_64 @ 140387594988360>, <py34-none-manylinux2014_x86_64 @ 140387594988488>, <py34-none-manylinux2010_x86_64 @ 140387594988552>, <py34-none-manylinux1_x86_64 @ 140387594988616>, <py34-none-linux_x86_64 @ 140387594988680>, <py33-none-manylinux2014_x86_64 @ 140387594988808>, <py33-none-manylinux2010_x86_64 @ 140387594988872>, <py33-none-manylinux1_x86_64 @ 140387594988936>, <py33-none-linux_x86_64 @ 140387594989000>, <py32-none-manylinux2014_x86_64 @ 140387594989128>, <py32-none-manylinux2010_x86_64 @ 140387594989192>, <py32-none-manylinux1_x86_64 @ 140387594989256>, <py32-none-linux_x86_64 @ 140387594989320>, <py31-none-manylinux2014_x86_64 @ 140387594989448>, <py31-none-manylinux2010_x86_64 @ 140387594989512>, <py31-none-manylinux1_x86_64 @ 140387594993736>, <py31-none-linux_x86_64 @ 140387594993800>, <py30-none-manylinux2014_x86_64 @ 140387594993928>, <py30-none-manylinux2010_x86_64 @ 140387594993992>, <py30-none-manylinux1_x86_64 @ 140387594994056>, <py30-none-linux_x86_64 @ 140387594994120>, <cp36-none-any @ 140387594994248>, <py36-none-any @ 140387594994312>, <py3-none-any @ 140387594994376>, <py35-none-any @ 140387594994440>, <py34-none-any @ 140387594994504>, <py33-none-any @ 140387594994568>, <py32-none-any @ 140387594994632>, <py31-none-any @ 140387594994696>, <py30-none-any @ 140387594994760>]

可以看見支持安裝的版本一下子多了起來,所以第二種解決辦法就是升級pip,可以通過如下命令升級pip:

python -m pip install --upgrade pip

通常情況下,你的電腦裏如果安裝了python2.x也同時安裝了python3.x,那麼應該就會有兩個pip。一個是pip2,另一個是pip3。那麼可以採用:

pip3 install --upgrade pip
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章