whl is not a supported wheel on this platform
就是说whl名的命名不符合它给的规范。
我们首先来查看它的支持:
32位查看方法:
代码语言:javascript复制>>> import pip
>>> print(pip.pep425tags.get_supported())
64位查看方法:
要在pip后加一个._internal
,不然查不到。
>>> import pip._internal
>>> print(pip._internal.pep425tags.get_supported())
[('cp36', 'cp36m', 'win32'), ('cp36', 'none', 'win32'), ('py3', 'none', 'win32')
, ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py
3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', '
none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none'
, 'any')]
>>>
下面来举个例子:
支持里有个:('cp36', 'none', 'win32')
,
我下的whl名字是:PyHook3-1.6.1-cp35-cp35m-win32
,
安装不了,
我改为:PyHook3-1.6.1-cp36-none-win32
,
就好了,看后面3个正好是匹配的。
注: 当然因为python3.5和3.6一般都是通用的,所以我改了也能用,如果是python2.7的,很可能库里存在兼容性问题,即使我改了,用的时候也会报错。当然,如果你很厉害的话,可以把库的代码不兼容的地方也改了,当然也可以用。