报错:
Building wheels for collected packages: pyhook3
Building wheel for pyhook3 (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-310
creating build\lib.win-amd64-cpython-310\PyHook3
copying aa hook.py -> build\lib.win-amd64-cpython-310\PyHook3
copying cpyHook.py -> build\lib.win-amd64-cpython-310\PyHook3
copying doc.py -> build\lib.win-amd64-cpython-310\PyHook3
copying example.py -> build\lib.win-amd64-cpython-310\PyHook3
copying HookManager.py -> build\lib.win-amd64-cpython-310\PyHook3
copying init.py -> build\lib.win-amd64-cpython-310\PyHook3
running build_ext
building 'PyHook3._cpyHook' extension
swigging cpyHook.i to cpyHook_wrap.c
swig.exe -python -o cpyHook_wrap.c cpyHook.i
error: command 'swig.exe' failed: None
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyhook3
Running setup.py clean for pyhook3
Failed to build pyhook3
ERROR: Could not build wheels for pyhook3, which is required to install pyproject.toml-based projects
解决思路:可以pip install pyhook3,把第3方文件发给题主
安装setuptools库之前,你看下有没有安装SWIG,有没有在系统环境变量里添加了SWIG的路径。
再查看一下你的PyHook3与Python版本是否兼容。
先更新setuptools试一试:
pip install --upgrade pip setuptools
如果还是有问题,就看看是否已安装适当的构建工具(如Microsoft Visual C++ Build Tools)。
或者放弃pip的安装方法,选择手动安装,请按照以下步骤进行操作:
a. 下载pyhook3模块的whl文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook
b. 安装下载好的whl文件:
pip install 文件名.whl
该回答引用GPT
这个错误是因为缺少SWIG,SWIG是一个用于连接C/C++和其他编程语言的工具。您需要先安装SWIG,然后再安装pyHook。您可以按照以下步骤安装SWIG:
访问SWIG的官方网站:http://www.swig.org/download.html
下载适合您操作系统的SWIG版本,例如Windows系统可以下载swigwin-4.0.2.zip
解压缩下载的文件到您的计算机上的任意位置,例如C:\swig
将SWIG的路径添加到系统环境变量中。在Windows系统中,您可以按照以下步骤添加环境变量:
a. 右键单击“此电脑”,选择“属性”
b. 点击“高级系统设置”
c. 点击“环境变量”
d. 在“系统变量”中找到“Path”,点击“编辑”
e. 点击“新建”,输入SWIG的路径,例如C:\swig
f. 点击“确定”保存更改
现在您可以重新安装pyHook,应该可以成功了。
这个错误提示说明你需要安装"pyhook3"包,但是该包无法编译成功,导致安装失败。处理方式如下:
可以安装build tools:
Visual C++ 14.0
https://visualstudio.microsoft.com/visual-cpp-b
或者
Visual Studio Community 2019
https://visualstudio.microsoft.com/vs/community/
然后配置:
setx VCINSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\"
setx WindowsSdkDir "C:\Program Files (x86)\Windows Kits\10\"
setx WindowsSdkVersion "10.0.22000.0"
setx VCToolsInstallDir "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\"
如果以上方法还不能解决问题,建议升级pip为最新版本,尝试重新安装pyhook3
,或者在官方网站下载pyhook3的wheel安装包并手动安装。
希望以上方法可以解决你的问题。
ERROR: Could not build wheels for pyhook3, which is required to install pyproject.toml-based projects
报错含义:
错误:无法为pyhook3构建轮子,这是安装pyproject.toml-based项目所必需的
解题思路:
1、排查依赖项:setup.py 文件可能包含一些未正确安装或配置的依赖项,这可能导致编译时出现错误。可以在终端中执行 pip list --local 命令,查看系统中已安装的所有 setup.py 文件和其依赖项,并进行相应的修复。
2、编译器问题:setup.py 文件可能使用了一些未正确安装或配置的编译器,这可能导致编译时出现错误。可以尝试使用其他编译器进行编译,例如 gcc 或 xlc。
从你的报错信息来看,问题似乎是在尝试构建pyHook3
时,swig.exe
命令失败。swig.exe
是SWIG(Simplified Wrapper and Interface Generator)的一个组件,它用于生成跨语言的接口。
在这种情况下,你可以尝试以下解决方案:
确保你已经安装了SWIG。你可以访问SWIG官方网站下载并安装它:http://www.swig.org/download.html 。下载并解压缩SWIG后,将swigwin
目录中的swig.exe
所在路径添加到系统环境变量Path
中。
安装一个预编译的pyHook3
库。你可以从以下GitHub仓库下载预编译的pyHook3
:https://github.com/Answeror/pyhook3 。从仓库中下载相应的.whl
文件,然后使用pip
命令安装:
pip install /path/to/your/downloaded/whl_file
例如,如果你下载了pyHook3‑1.6.1‑cp310‑cp310‑win_amd64.whl
文件并将其保存到Downloads
文件夹,你可以运行以下命令安装pyHook3
:
pip install C:\Users\YourUsername\Downloads\pyHook3‑1.6.1‑cp310‑cp310‑win_amd64.whl
请确保将YourUsername
替换为你的实际用户名。
注意:由于pyHook3
可能已经停止维护,你可能需要考虑使用其他的库,如pynput
,它也可以用于监控和控制输入设备。要安装pynput
,只需运行以下命令:
pip install pynput
你需要确保已经安装了pywin32,因为pyhook依赖于pywin32。你可以在cmd中输入python,进入交互式python,再使用以下命令安装pywin32:
!pip install pywin32
缺少 setuptools 库,安装一下就好