安装和导入pyHook时出现问题。

3
这是我在这个网站上的第一个问题,所以我希望我能格式化得正确。我也非常新于编程,所以请谅解我的缺乏知识,谢谢!
我正在尝试安装pyHook,但是我一直收到以下错误消息:
C:\Python27>py -2.7 -m pip install pyHook-1.5.1-cp27-cp27M-win_amd64.whl
pyHook-1.5.1-cp27-cp27M-win_amd64.whl is not a supported wheel on this platform.

如下所示,我有Python 2.7.14:

Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit 
(AMD64)] on win32

以防万一,我尝试更新pip,它说已经是最新版本了。我也尝试安装这个版本的.whl文件,但是出现了相同的错误:

C:\Python27>py -2.7 -m pip install pyHook-1.5.1-cp27-cp27m-win32.whl
pyHook-1.5.1-cp27-cp27m-win32.whl is not a supported wheel on this platform.

根据我在网上的阅读,我认为cp27表示它是用于Python 2.7的。为了安全起见,我尝试了64位和32位文件,但似乎都不起作用。如果有人能提供任何解决方案或建议,将不胜感激!


我遇到了同样的问题。所以请有人给出答案。 - Hashbrowns
你使用的是32位还是64位操作系统?你使用的是哪个操作系统,Linux、Mac,还是Windows的变种? - Steve Byrne
64位的Windows 10 - Hashbrowns
@Br0therBrigham,py -2.7 -c "import pip; print(pip.pep425tags.get_platform())"py -2.7 -c "import pip; print(pip.pep425tags.get_abi_tag())"分别返回什么?另外,你用什么轮子进行安装?我在PyPI上没有看到任何关于pyHook的轮子。 - hoefling
@hoefling 第一个返回了“win32”,第二个返回了“cp27m”。我是Python的新手,不太清楚Wheels是什么。 - Hashbrowns
显示剩余7条评论
2个回答

1

我安装了Python 2.7,然后安装了pyHook,并且按照以下步骤成功地使其工作。

请注意,我使用Anaconda创建了Python 2.7环境,我的操作系统是Windows 10。

  1. conda create -n python27 python=2.7 这将创建一个新的conda环境,其中包含python 2.7.14。
  2. activate python27
  3. python -m pip install --upgrade pip 这将安装pip版本10.0.0
  4. 非官方的Windows二进制文件下载pyHook。
    • 具体来说:pyHook-1.5.1-cp27-cp27m-win_amd64.whl
  5. 在命令提示符中导航到下载文件夹
  6. pip install pyHook-1.5.1-cp27-cp27m-win_amd64.whl

这样就可以正确安装并没有出现任何错误消息。希望这能帮到你。我猜测新的pip版本修复了它,或者你安装Python 2.7的方法有问题,所以尝试使用Anaconda(或miniconda如果你想保持轻量级)

在这些步骤之后,我也能够轻松导入它。


我已经安装了其他库,比如Pillow。所以我认为这与Python的安装无关。pip也已更新到最新版本。 - Hashbrowns
考虑到我能够按照那些确切的步骤在我的机器上使其工作,这可能值得一试,首先使用conda环境。 - Chris Farr

-1
许多二进制文件依赖于numpy-1.13+mkl和Microsoft Visual C++ 2008(x64、x86和针对CPython 2.7的SP1)、Visual C++ 2010(x64、x86,针对CPython 3.4)或Visual C++ 2017(x64或x86,针对CPython 3.5、3.6和3.7)可再发行软件包。 在安装其他依赖它的软件包之前先安装numpy+mkl。
python -m pip install numpy-1.13.3+mkl-cp27-cp27m-win_amd64.whl

python -m pip install pyHook-1.5.1-cp27-cp27m-win_amd64.whl

然后它就可以工作了。


带有预编译扩展的程序库不需要安装任何编译器,这也是它们存在的原因。此外,pyHook并不依赖于numpy,因此这个回答是完全错误的。 - hoefling
@hoefling,NumPy中有一些技巧可以解决32位和64位不兼容的问题。 - obgnaw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接