python3.8模拟键盘自动操作环境主是要成功安装PyUserInput模块,直接安装无法成功。
第1步:修改C:\Users\Lenovo\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\pymouse中__init__.py文件中92行的:windows为pymouse.windows
window.py中第23行的:pyhook为pyWinhook(特别要注意不要名称弄错,最好复制粘贴)
之所以要改这两处,主要原因是python3.8没有根据第三方库的方法和名称作相应的变化。以前,使用windows直接写windows就行了,现在呢,必须变成了要pymouse.windows这样用,python3.8以前,使用pyhook这个名称,3.8以后名称变成了pyWinhook.
第2步:安装pyWinhook。
一般是两个文件,通常是pyWinhook-1.6.2-cp38-cp38-win32.whl,如果不确定,两个都下载,一个一个的试,我的安装win32的成功了。
下载后,使用下面的命令安装:
pip install C:\Users\Lenovo\Desktop\pyWinhook-1.6.2-cp38-cp38-win32.whl
这时,可能会出现这样的错误:
pyWinhook-1.6.2-cp38-cp38-win32.whl is not a supported wheel on this platform.
这是什么原因呢?这是因为cmd默认使用python3.7的pip命令进行安装python3.8的包,那肯定不支持了。这时使用python的pip安装就可以了
首先进入python3.8的目录:cd C:\Users\Lenovo\AppData\Local\Programs\Python\Python38-32
然后使用命令:python -m pip install C:\Users\Lenovo\Desktop\pyWinhook-1.6.2-cp38-cp38-win32.whl
特别 要注意的是:这时不能省略python -m,如果省略掉,仍然是用默认的python3.7的pip在进行安装,仍然会出现平台不支持的错误提示。升级pip的时候,也要注意这点。
第3步,安装PyUserInput。使用pip可以,在pycharm中也可以,不过要注意:
用pip安装,要采用第2点安装pyWhook的方法。在pycharm中安装,要注意把编译器改为python3.8
完成成以上步骤后,我以为安装pykeyboard应该没有问题了,但我用from pykeyboard import PyKeyboard引入模块时,老是报错:cannot import name 'PyKeyboard' from 'pykeyboard' (C:\Users\Lenovo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pykeyboard\__init__.py)。百度后,终于解决了,方法和前面差不多,修改提示里的:C:\Users\Lenovo\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\pykeyboard中__init__.py文件,加入下列语句:
import sys if sys.platform.startswith('java'): from .java_ import PyKeyboard elif sys.platform == 'darwin': from .mac import PyKeyboard, PyKeyboardEvent elif sys.platform == 'win32': from .windows import PyKeyboard, PyKeyboardEvent else: from .x11 import PyKeyboard, PyKeyboardEvent
最后终于没有报错了。