pyhook3安裝教程及與之相關的一些問題的解決方法

pyHook3是一個python庫包,爲Windows中的全局鼠標和鍵盤事件提供回調,可用於監聽鼠標和鍵盤操作,接下來我就說一說如何安裝pyhook3。

一、安裝swig

1、pyhook3的編譯需要swig工具的支持,所以我們首先需要安裝swig,直接點擊swig下載(也可以複製此鏈接https://sourceforge.net/projects/swig/files/swigwin/swigwin-3.0.12/swigwin-3.0.12.zip/download?use_mirror=nchc),跳轉到下載頁面便會自動下載swig安裝包。在這裏插入圖片描述
2、下載完成後將swig壓縮包解壓縮到你想要安裝的目錄下
在這裏插入圖片描述在這裏插入圖片描述
3、點擊swig.exe安裝swig
在這裏插入圖片描述
4、複製swig文件所在的當前路徑配置環境變量
在這裏插入圖片描述
在這裏插入圖片描述

二、下載visual c++ 14.0

若電腦中沒有visual c++ 14.0環境,在安裝pyhook時會報錯visual c++ 14.0 is required,所以pyhook3的安裝還需要c++build工具的支持,直接點擊下載visual studio,點擊安裝後會執行安裝程序安裝visual studio,此時會跳出如下界面,我們勾選C++的桌面開發,然後勾選右下角箭頭所指的那一條,那便是我們安裝pyhook3需要的工具,當然我們也可以直接去網上搜索Microsoft Visual C++ 14.0進行安裝。
在這裏插入圖片描述

三、pip 安裝pyhook3

我們可以直接在cmd下用pip安裝pyhook3,但是用pip安裝的pyhook3版本可能和你電腦的python版本不一致,這時就會報編碼錯誤。我們可以去非官方的python擴展包中去找適合自己python版本的pyhook3輪子,然後再使用pip安裝。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
更新


之前寫的第三步完全是錯的,但我就不刪了,你們可以做個借鑑,我也是在導入庫包的時候發現import pyhook,並沒有PyHook3。

那麼錯在哪呢?首先在python3環境下使用pip安裝的官方包不一定與你的版本匹配,我的是python3.6,官方是沒有這個版本的pyhook3的,具體可以去pypi官網看到,所以如果你的版本與下圖中的不一致,就只能下載最後一個壓縮包使用setup自行安裝,安裝成功後你就可以導入庫包import PyHook3。
在這裏插入圖片描述
我在安裝的過程中還出現一個問題,明明已經安裝了visual c++ 14.0(2015),但還是會報錯其運行失敗,但在這之前還有一個錯誤,其實那纔是出錯的根源,fatal error LNK1158: cannot run ‘rc.exe’。然後我去網上查了一下,我們需要將C:\Program Files (x86)\Windows Kits\8.0\bin\x86目錄下的rc.exe rcdll.dll這兩個文件複製到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin目錄下(也就是visual c++ 14.0的安裝目錄),問題就完美解決了

這裏再說一點,爲什麼我們一直糾結於pyhook的版本?
  如果你是在python2的環境下使用pyhook2和3版本都是沒有問題的,但是如果是在python3環境下使用pyhook2是會出錯的。我們使用IDE編寫代碼並運行監視鼠標操作,當鼠標移動到任務欄的時候就會報錯並異常中斷。原因是在python3環境下調用pyhook2庫獲取窗口名時,會因爲編碼衝突無法識別獲取到的窗口名。這個很好理解,例如我們使用非UTF-8的編碼格式存儲的文檔在某些辦公軟件中打開會有亂碼一樣,這就是因爲編碼格式衝突造成的無法識別某些字符。所以要想在python3下使用pyhook,只能用pyhook3版本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章