1
votes

This is the error received:

    Traceback (most recent call last):
  File "C:/Users/Joe Martin/AppData/Local/Programs/Python/Python37/test.py", line 12, in <module>
    import win32com.client
  File "C:\Users\Joe Martin\AppData\Local\Programs\Python\Python37\lib\site-packages\win32com\__init__.py", line 5, in <module>
    import win32api, sys, os
ModuleNotFoundError: No module named 'win32api'

This error occurs when trying to import the win32com.client module.

Solutions Tried:

  • Fresh wipe and install of Python 3.7
  • pip install pypiwin32
  • pip install pywin32
  • Running the pywin32_postinstall.py

I cannot find any other solution for how to fix this issue.

2
You probably have more than one Python interpreter installed. - Peter Wood
check here - Jeril
@Jeril - I've explicitly stated I have tried that - BaronMartin
@PeterWood - I Have Python's standard IDLE and PyCharm - BaronMartin

2 Answers

5
votes

This is usually because no PythonPath is appended after the package is installed. Check the file--pywin32.pth under the folder--\\PythonVersion\\Lib\\site-packages\\.

The content in the file is like below:

# .pth file for the PyWin32 extensions
win32
win32\lib
Pythonwin
# Entries needed for a "portable" installations, where the post_install script
# isn't run, which would normally copy the pywin32 core DLL files to either
# the top of the python directory.
# We just stick the source of these DLLs directly on the PATH.
import os;os.environ["PATH"]+=(';'+os.path.join(sitedir,"pywin32_system32"))

Or create a PYTHONPATH environment variables, and append the win32 and win32/lib path into it.

You could also add these two paths to Python in project temporarily

import sys
sys.path.append('\\PythonVersion\\lib\\site-packages\\win32')
sys.path.append('\\PythonVersion\\lib\\site-packages\\win32\\lib')

The addition of paths is only valid for the time being.

0
votes

I solved with:

from win32 import win32api

print("Width =", win32api.GetSystemMetrics(0))
print("Height =", win32api.GetSystemMetrics(1))

None of the others possibilities worked for me. Python 3.9.6 (on Windows) IDLE 3.9.6 tk version 8.6.9