关于安装各种wheel包失败的解决方法

我是在Ubuntu中进行安装遇到问题的。
主要遇到错误两个:

ERROR: Box2D-2.3.2-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
AttributeError: module 'pip._internal' has no attribute 'pep425tags'

原因一:python版本与wheel文件版本不同

例如我下载的wheel包为Box2D-2.3.2-cp37-cp37m-win_amd64.whl,它所对应的的就是python3.7版本,如果版本不同的话,无法安装。
但版本对应之后也需要保证wheel文件命名方式是你的python版本所支持的。

原因二:文件名格式不支持

我的python版本是3.7.4,但依然不支持该whl文件。多方查询提到说是文件名格式不支持,查询你的python所支持的wheel文件名字格式方法有以下几种:
【在Windows环境下】
64位

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

32位

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

很遗憾,我是在Linux环境下进行安装,上述方法我没有成功,会报错:

AttributeError: module 'pip._internal' has no attribute 'pep425tags'

【Linux环境下】

>>> import wheel.pep425tags as w 
>>> print(w.get_supported())

可行,结果如下:

[(‘cp37’, ‘cp37m’, ‘linux_x86_64’), (‘cp37’, ‘abi3’, ‘linux_x86_64’), (‘cp37’, ‘none’, ‘linux_x86_64’), (‘cp36’, ‘abi3’, ‘linux_x86_64’), (‘cp35’, ‘abi3’, ‘linux_x86_64’), (‘cp34’, ‘abi3’, ‘linux_x86_64’), (‘cp33’, ‘abi3’, ‘linux_x86_64’), (‘cp32’, ‘abi3’, ‘linux_x86_64’), (‘cp37’, ‘none’, ‘any’), (‘cp3’, ‘none’, ‘any’), (‘cp36’, ‘none’, ‘any’), (‘cp35’, ‘none’, ‘any’), (‘cp34’, ‘none’, ‘any’), (‘cp33’, ‘none’, ‘any’), (‘cp32’, ‘none’, ‘any’), (‘cp31’, ‘none’, ‘any’), (‘cp30’, ‘none’, ‘any’), (‘py3’, ‘none’, ‘linux_x86_64’), (‘py37’, ‘none’, ‘any’), (‘py3’, ‘none’, ‘any’), (‘py36’, ‘none’, ‘any’), (‘py35’, ‘none’, ‘any’), (‘py34’, ‘none’, ‘any’), (‘py33’, ‘none’, ‘any’), (‘py32’, ‘none’, ‘any’), (‘py31’, ‘none’, ‘any’), (‘py30’, ‘none’, ‘any’)]

所以我将原文件Box2D-2.3.2-cp37-cp37m-win_amd64.whl重命名为Box2D-2.3.2-cp37-cp37m-linux_x86_64.whl。虽然强行将win改为了linux,但可以正常安装,至于使用。。。还未测试。

你可能感兴趣的:(解决方案,python,linux)