解決安裝PyUserInput、pyHook遇到的問題——AttributeError: 'HookManager' object has no attribute 'keyboard_hook


安裝PyUserInput失敗。


經查看發現是pyHook(pyHook是一個用來進行鍵盤、鼠標等層面事件監控的庫。這個庫的正常工作需要pythoncom等操作系統的API的支持。)無法安裝,不知道是不是因為這個庫可以被用於一些比較邪惡的目的。經搜索發現直接pip install pyHook是找不到相關包的,但可以下源碼編譯安裝,可以在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook 這里可以直接下載到.whl文件,這個文件可以作為pip install 的參數來進行安裝。

直接輸入pip install pyHook-1.5.1-cp36-cp36m-win_amd64.whl好像還是不行,經提示使用 G:\Py_opencv\venv\Scripts\python.exe -m pip install pyHook-1.5.1-cp36-cp36m-win_amd64.whl第一個參數是python解釋器,-m選項可以讓python以腳本的方式運行一個模塊,pip install后面就是要安裝的包名。


pyHook-1.5.1-cp36-cp36m-win_amd64.whl

pyHook:庫名
1.5.1:版本號
cp3.6m:Cpython3.6版本,編碼是ucs2,UCS2認為每個字符占用2個字節,UCS4認為每個字節占用4個字符,都是UNICODE的編碼形式。
win_amd64:windows64位環境
whl:壓縮包,在其中包含了py文件,以及經過編譯的pyd文件。可以使用pip安裝

電腦系統環境查看,可以右鍵“我的電腦”->“屬性”查看

然后再直接在命令行里輸入pip install pyuserinput或是在pycharm下載安裝都可以了。(需要先安裝pywin32)


上述下載的pyHook是基於Python2的,在python3下會報錯:
TypeError: MouseSwitch() missing 8 required positional arguments: 'msg', 'x', 'y', 'data', 'flags', 'time', 'hwnd', and 'window_name'
或者AttributeError: 'HookManager' object has no attribute 'keyboard_hook'

感謝:python3.5安裝pyHook,解決【TypeError: MouseSwitch() missing 8 required positional arguments: 'msg', 'x', 'y', 'data', 'time', 'hwnd', and 'window_name'】這個錯誤!、[使用Python 3.5/3.6監聽本機任意窗口中的按鍵操作](使用Python 3.5/3.6監聽本機任意窗口中的按鍵操作)提供的解決方法

需要的模塊:擴展庫pyhook_py3k(注意,不要使用pyhook),pywin32。
第一步,安裝pywin32,地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32
第二步,下載pyhook_py3k,地址:https://github.com/Answeror/pyhook_py3k
第三步,下載swig.exe,地址:http://www.swig.org/download.html ==>.zip格式解壓
第四步,解壓縮pyhook_py3k,並進行編譯,命令:python setup.py build_ext --swig=..\swigwin-3.0.12\swig.exe,可以根據實際情況修改swig.exe的路徑,另外本機最好已安裝VC2008
第五步,安裝編譯好的pyhook_py3k,命令:pip install .

然后就可以正常操作了!!~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM