Python导入键盘模块时出现错误

4

我下载了 Python 2.7 的键盘模块,使用 pip install keyboard 命令安装。

安装完成后,我尝试按如下方式导入:

import keyboard as keyboard

然而,它给了我这个错误:
File "C:\Python27\lib\site-packages\keyboard\__init__.py", line 120, in <module>
    from. import _winkeyboard as _os_keyboard
  File "C:\Python27\lib\site-packages\keyboard\_winkeyboard.py", line 37, in <module>
    kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)
  File "C:\Python27\lib\ctypes\__init__.py", line 362, in __init__
    self._handle = _dlopen(self._name, mode)
TypeError: LoadLibrary() argument 1 must be string, not unicode

我的唯一猜测是我没有这些文件之一或者我需要另一个键盘的依赖项。任何帮助将不胜感激。

1
可能是一个bug。keyboard最近有很多bug。你应该报告它。 - Aran-Fey
1
我认为 . 不应该是 pip install 命令的一部分? - user202729
2
我研究了一些网站,我认为Python 2.7很重要。你使用Python 2.7.13吗? - Hoseong Jeon
解决方法是将该行更改为使用 b'kernel32' 而不是 'kernel32'。或者只需升级 Python 2.7。 - Martijn Pieters
Martijn,我刚刚又遇到了更多错误。Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\site-packages\keyboard_init_.py", line 120, in <module> from. import _winkeyboard as os_keyboard File "C:\Python27\lib\site-packages\keyboard_winkeyboard.py", line 44, in <module> user32 = ctypes.WinDLL('user32', use_last_error = True) File "C:\Python27\lib\ctypes_init.py", line 362, in init self._handle = _dlopen(self._name, mode) TypeError: LoadLibrary() 的第一个参数必须是字符串,而不是 Unicode。 - I. Yoon
显示剩余2条评论
1个回答

4

1
对于那些无法升级的用户:在模块中使用 from __future__ import unicode_literals 时,可以使用类似 b'kernel32' 的字节字符串字面量。 - Martijn Pieters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接