ImportError: no module named win32api
PythonWinapiPython Problem Overview
I am using Python 2.7
and I want to use pywin32-214
on Windows 7
. I installed pywin32-214
by using the msi
installer. But when I import win32api
in my Python script, it throws the error:
no module named win32api.
What should I do? Can I use pywin32 api
for Windows 7
?
Python Solutions
Solution 1 - Python
This is resolve my case as found on https://stackoverflow.com/questions/3580855/where-to-find-the-win32api-module-for-python
pip install pypiwin32
Solution 2 - Python
According to pywin32 github you must run
pip install pywin32
and after that, you must run
python Scripts/pywin32_postinstall.py -install
I know I'm reviving an old thread, but I just had this problem and this was the only way to solve it.
Solution 3 - Python
I had an identical problem, which I solved by restarting my Python editor and shell. I had installed pywin32
but the new modules were not picked up until the restarts.
If you've already done that, do a search in your Python installation for win32api
and you should find win32api.pyd
under ${PYTHON_HOME}\Lib\site-packages\win32
.
Solution 4 - Python
I didn't find the package of the most voted answer in my Python 3 dist.
I had the same problem and solved it installing the module pywin32:
In a normal python:
pip install pywin32
In anaconda:
conda install pywin32
My python installation (Intel® Distribution for Python) had some kind of dependency problem and was giving this error. After installing this module it stopped appearing.
Solution 5 - Python
The following should work:
pip install pywin32
But it didn't for me. I fixed this by downloading and installing the exe from here:
Solution 6 - Python
This line:
import win32com
got me the error no module named win32api
.
Using this command in elevated terminal:
pip install pywin32-ctypes
and
pip install pywin32
and based on the error displayed, replacing:
import win32api
→ from win32ctypes.pywin32 import win32api
import pywintypes
→ from win32.lib import pywintypes
import _win32sysloader
→ from win32 import _win32sysloader
in your source file, or even the files of the packages that report the error (know what you are doing if you choose this approach) may solve this error. But better would be to just add the corresponding directories into the python path variable, for better integration with the python loading system, more info here: https://realpython.com/python-import/
So I put this content:
python38.zip
.
./lib
./lib/site-packages
./lib/site-packages/win32
./lib/site-packages/win32/lib
./lib/site-packages/win32ctypes/pywin32
./lib/site-packages/win32ctypes
# Uncomment to run site.main() automatically
#import site
(order DOES matter)
into this file: <python_root_installation_directory>/python38._pth
That way, correct libraries load when standard imports are used. If there is a cache import somewhere in the library, it will work, and the imports inside the libraries work as well.
This works for me and my installation, so your environment may be set up differently and this guide may not be fully compatible, but it is a good step in solving the issue, maybe modification or extension of my steps above may lead to the solution in another distribution.
Solution 7 - Python
After installing pywin32
Steps to correctly install your module (pywin32)
- First search where is your python pip is present
1a. For Example in my case location of pip - C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts
-
Then open your command prompt and change directory to your pip folder location.
cd C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts>pip install pypiwin32
Restart your IDE
All done now you can use the module .
Solution 8 - Python
I had both pywin32
and pipywin32
installed like suggested in previous answer, but I still did not have a folder ${PYTHON_HOME}\Lib\site-packages\win32
.
This always lead to errors when trying import win32api
.
The simple solution was to uninstall both packages and reinstall pywin32
:
pip uninstall pipywin32
pip uninstall pywin32
pip install pywin32
Then restart Python (and Jupyter).
Now, the win32
folder is there and the import works fine. Problem solved.
Solution 9 - Python
Try this, it worked for me, it may help you!
pip install pywin32==225
Solution 10 - Python
In my case, the only thing that worked was to download the appropriate wheel from: https://pypi.org/project/pywin32/#files, and install with --force-reinstall.
pip install pywin32-300-cp37-cp37m-win_amd64.whl --force-reinstall
Solution 11 - Python
I found solution here: https://www.ti-enxame.com/pt/python/pywin32-e-python-3.8.0/813327700/
I was able to run it on Spyder without error, but It wasn't working on cmd prompt
I just import the module pywintypes before win32api
import pywintypes
import win32api