22

我正在使用 pyHook、pythoncom 和 Pywin32 模块用 Python 制作一个小型键盘记录器。这是我的代码:

import pyHook, pythoncom, sys, logging

file_log = 'C:\\important\\log.txt'

def OnKeyboardEvent (event):
    logging.basicConfig(filename=file_log, level=logging.DEBUG, format='%(message)s')
    chr(event.Ascii)
    logging.log(10, chr(Event.Ascii))
    return True
hooks_manager=pyHook.HookManager()
hooks_manager.KeyDown = OnKeyboardEvent
hooks_manager.HookKeyboard()
pythoncom.PumpMessages()

当它运行时,它会返回以下错误消息:

 File "C:\Python27\lib\site-packages\pythoncom.py", line 2, in <module>
    import pywintypes
ImportError: No module named pywintypes

如何修复此错误?

4

6 回答 6

24

pywintypes用于 Windows 扩展的 Python 的一部分,也称为 pywin32。您需要安装它才能访问pywintypes.

请注意,在撰写本文时,pywin32的维护者并未将文件上传到 PyPI,因此您必须从http://pywin32.sf.net获取适当版本的安装程序。

于 2013-09-20T02:22:34.857 回答
18

pip install pypiwin32为我工作

于 2017-02-09T23:12:35.390 回答
13

对我来说,它可以从以下位置复制文件(pythoncom38.dll 和 pywintypes38.dll):

C:\Users\"Your user id"\AppData\Roaming\Python\Python38\site-packages\pywin32_system32

到路径:

C:\Users\"Your user id"\AppData\Roaming\Python\Python38\site-packages\win32\lib

C:\Users\"Your user id"\AppData\Roaming\Python\Python38\site-packages\win32
  • 安装 Visual Studio 后,有时我需要在复制文件后重新启动计算机。
于 2020-02-16T20:36:05.777 回答
1

我知道我的回答有点晚了,但只是遇到了这个问题。pywin32 和 pypiwin32 都安装在我的 virtualenv 上,我的应用程序在测试期间运行良好。当我运行 pyinstaller 来构建我的 exe 时,出现了这个错误。

解决方案:我需要在我的基础 python env(而不是 virtualenv)上安装(通过 pip)pywin32 和 pypiwin32,以便 pyinstaller 构建我的 exe。

于 2019-08-18T23:40:25.997 回答
1

I have had this error when trying to create a python service using pywin32 module. I copied pythoncom38.dll and pywintypes38.dll into the root directory of the project and it solved the issue.

于 2020-09-05T10:49:02.280 回答
1

只需将 pythoncom34.dll 和 pywintypes34.dll 添加到您的 C:\Python34\

于 2017-03-18T18:17:21.020 回答