编译 pywinhook v1.6.2 的环境设置和步骤

准备做一个鼠标事件响应程序。

查了一下相关python的第三方类库,发现有 pyhook。

一、起源 pyhook

1、pyhook是最早的版本

pyhook支持的python版本比较低,代码在 https://sourceforge.net/projects/pyhook/

2、之后产生了两个并行版本 pyHook3 和 pyWinhook

https://github.com/gggfreak2003/PyHook3

  • pyHook3 在6年前就已经不再更新,并在2020年将代码库设为 ReadOnly !

https://github.com/Tungsteno74/pyWinhook

  • pyhook 在 2017-03-9 入驻 github 后,发布了 1.5.2 版本后 并改名为 phWinHook;
  • 1.6.0 (2019-01-24) 支持 python 3.x;
  • 2020-01-17 发布了最新的版本 1.6.2;
  • 目前该项目保持活跃;

二、编译

直接从 pycharm 安装 pyHook3 / pyWinhook 不成功。
所以,从 sourceforge和 github 下载各个版本的代码,做了几次编译的尝试。

下面是成功编译 pyWinhook 的几种情况和步骤:

1、下载 swig

  • https://www.swig.org/download.html

2、设置环境变量

下载后,是一个zip文件,解压后放在没有空格和中文的路径下,比如 D:\programs\swig-4.1.1

  • 设置系统环境变量,将swig的路径加到路径下: PATH=$PATH;D:\programs\swig-4.1.1
    在这里插入图片描述

3、关闭所有 pycharm 项目,即重启pycharm

4、启动 pycharm 打开 pyWinhook项目

5、按 Alt + F12 启动终端

pip install pywin32

6、生成 pyd

python setup.py build_ext --inplace

phWinhook目录下生成 _cpyHook.cp38-win_amd64.pyd

7、生成 wheel

python setup.py bdist_wheel

dist目录下生成 pyWinhook-1.6.2-cp38-cp38-win_amd64.whl

8、安装 wheel

pip install  pyWinhook-1.6.2-cp38-cp38-win_amd64.whl

三、直接下载使用

1、在设置了 swig 环境变量后,重新启动 pycharm

2、直接在 requirements.txt 中填写 pywin32pyWinhook

3、执行 pip install -r requirements.txt 或者

4、按 Ctrl + Alt + S 进入 Project: MyProject --> python interpreter 中手动添加。

四、直接下载 wheel

1、下载地址

https://www.lfd.uci.edu/~gohlke/pythonlibs/

在这里插入图片描述

2、安装

pip install  pyWinhook-1.6.2-cp38-cp38-win_amd64.whl

相关推荐

  1. ubuntu18使用docker编译运行步骤

    2023-12-17 02:00:02       62 阅读
  2. Unity vscode在mac上编译环境设置

    2023-12-17 02:00:02       32 阅读
  3. vscode编译调试wsl环境c语言程序

    2023-12-17 02:00:02       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 02:00:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 02:00:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 02:00:02       82 阅读
  4. Python语言-面向对象

    2023-12-17 02:00:02       91 阅读

热门阅读

  1. Unity项目里Log系统该怎么设计

    2023-12-17 02:00:02       49 阅读
  2. docker配置容器内访问主机服务

    2023-12-17 02:00:02       64 阅读
  3. axios+echarts

    2023-12-17 02:00:02       50 阅读
  4. react受控组件和非受控组件区别

    2023-12-17 02:00:02       53 阅读
  5. 大语言模型续写completions

    2023-12-17 02:00:02       59 阅读
  6. 数据库_mongoDB

    2023-12-17 02:00:02       48 阅读
  7. shell编程-sort命令详解(超详细)

    2023-12-17 02:00:02       53 阅读
  8. AI视频-stable-video-diffusio介绍

    2023-12-17 02:00:02       61 阅读
  9. 使用Python安装Selenium

    2023-12-17 02:00:02       64 阅读