我正在使用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
如何解决此错误?
答案 0 :(得分:19)
pywintypes
是Python for Windows extensions的一部分,也称为pywin32。您需要安装它才能访问pywintypes
。
请注意,在撰写本文时,pywin32
的维护者不会将文件上传到PyPI,因此您必须从http://pywin32.sf.net获取适当版本的安装程序。
答案 1 :(得分:9)
pip install pypiwin32
为我工作
答案 2 :(得分:6)
对我来说,它可以从以下位置复制文件(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
答案 3 :(得分:1)
只需将pythoncom34.dll和pywintypes34.dll添加到您的 C:\ Python34 \
答案 4 :(得分:1)
尝试使用 pywin32 模块创建python服务时遇到此错误。
我将pythoncom38.dll
和pywintypes38.dll
复制到了项目的根目录,它解决了这个问题。
答案 5 :(得分:0)
我知道我的回答有点晚了,但是遇到了这个问题。 pywin32和pypiwin32都已安装在我的virtualenv上,我的应用在测试过程中运行良好。当我运行pyinstaller生成我的exe时,出现此错误。
解决方案: 我需要在基本python env(而不是virtualenv)上安装(通过pip)pywin32和pypiwin32,以便pyinstaller构建我的exe。