【Python】cannot import name 'PyKeyboard' from 'pykeyboard'

883 阅读1分钟

ImportError: cannot import name ‘PyKeyboard’ from ‘pykeyboard’

问题描述:

pykeyboard 使用过程中遇到的问题:
在安装完pykeyboard以后出现无法导入PyKeyboard
经过我数小时的摸索终于找到门路,在这里做个记录

原因分析:

pykeyboard 库是跨跨跨平台支持的,需要同时安装多个附加库才能够使用

解决方案:

安装附加支持库,来实现 pykeyboard:
例如可能的安装顺序为:

1,安装Pyhook ,路径;www.lfd.uci.edu/~gohlke/pyt… .挑选合适自己的版本,在下载目录运行cmd > pip install xxx.whl

2, 安装pywin32 ,安装命令:pip install pywin32 -i pypi.tuna.tsinghua.edu.cn/simple (其中 -i https 是代理服务器 非一般的速度)

3, 安装PyUserInput ,安装命令:pip install PyUserInput -i pypi.tuna.tsinghua.edu.cn/simple

4,最后一步,安装pykeyboard 验证是否可以正常导入。 

对应版本:

pyHook-1.5.1
pywin32-300
PyUserInput-0.1.11.tar.gz
pykeyboard-0.1.2 

python库:

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

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

如果还是出错错误的解决方法:

二、解决方法

Lib\site-packages\pykeyboard\__init__.py 中加入以下代码即可。

from .inline_keyboard import InlineKeyboard
from .inline_pagination_keyboard import InlinePaginationKeyboard
from .reply_keyboard import ReplyKeyboard
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