Search code examples
pythonwinapipython-3.xmodulewin32com

No module named 'win32api'


In Python 3.4 from Anaconda, I created a program and it is giving me and import error each time I run it. Using Spyder.

ImportError: No module named 'win32api'

I already have the pywin32 installed. And I can see the win32api.pyd under C:\Anaconda3\Lib\site-packages\win32

This is the import code on my program:

from tkinter import *
from tkinter import ttk
import tkinter.messagebox
import time
import requests #needs to be installed
import pymysql #needs to be installed
import csv 
import win32com.client #needs to be installed

import datetime

This is the whole error:

File "C:\Anaconda3\lib\site-packages\win32com\__init__.py", line 5, in <module>
import win32api, sys, os

ImportError: No module named 'win32api'

This is the only instance of Python I have installed. I uninstalled everything else and installed only Anaconda.

Searching online I got to something that said that it could be a problem with the PYTHONPATH. But honestly, I have no idea what they are talking about. So any noob help would be really appreciated. I am using Windows 7 by the way.

Thank you


Solution

  • The installation for pywin32 must have failed, or it is not for same OS bit architecture (say anaconda 64 bit and pywin32 32 bit). I recommend

    1. you uninstall pywin32,
    2. check what bit version of anaconda you are using, then
    3. install pywin32 for same version,
    4. verify that the installer indicates 100% success and there are no errors flagged in the installer's log window (it's rare but something may fail and the installer doesn't know).
    5. Then open a python console and type "import win32com".

    If #5 fails to import win32com, then:

    1. try installing a different version of python, for example from python.org
    2. repeat steps 2 to 5 above but for new python instead of anaconda

    Could be that anaconda distributors did something to the python interpreter (although I didn't think so), or that some libs aren't registered right (see answer https://stackoverflow.com/a/17061853/869951 for some more things to try).