Python 3.4: ImportError: ningún módulo llamado win32api

Estoy usando Python 3.4 en Windows 7. Para abrir un archivo doc estoy usando este código

import sys import win32com.client as win32 word = win32.Dispatch("Word.Application") word.Visible = 0 word.Documents.Open("MyDocument") doc = word.ActiveDocument 

No estoy seguro de por qué aparece este error cada vez

ImportError: ningún módulo llamado win32api

Aunque instalé pywin32 desde http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32 y también verifiqué la ruta desde la que estoy importando … también intenté reinstalar pywin32 pero no funciona eliminar el error …..

cualquier sugerencia … por favor ayuda

Gracias

Intenta instalar pywin32 desde aquí:

http://sourceforge.net/projects/pywin32/files/pywin32/

depende de su sistema operativo y de la versión de python que esté utilizando. Normalmente, la versión de 32 bits debería funcionar en sistemas operativos de 32 y 64 bits.

Este es un error en la propia biblioteca, probablemente usaron una implementación diferente de python para crear esto.

Lo que intentan importar es el archivo site-packages \ win32 \ win32api.pyd, pero la carpeta win32 no está en la ruta en la que busca Python, pero sí lo está en los paquetes de sitio.

Intente reemplazar el import win32api (dentro de win32com \ __ init__.py) from win32 import win32api

Encontré el mismo error de un día con Python 3.6.1 en Windows 7 y lo resolví por “pip install pypiwin32”.

Tuvo el mismo error al intentar importar win32com.client (usando Python 2.7, 64 bits). Estoy de acuerdo con TulkinRB , parece que hay problemas de ruta, pero la solución sugerida no funcionó para mí, ya que tampoco pude importar win32.

Quizás mi solución también funcione en Python 3.4.

Finalmente, la instalación del archivo .exe de SourceForge como administrador (como se sugiere en la respuesta de Rina Rivera aquí ) me permitió importar win32com.client desde IDLE, pero no cuando ejecuté el script que originalmente intentaba ejecutar.

Al final, descubrí 3 diferencias en el sys.path que se había extendido cuando instalé como administrador y abrí IDLE, pero no se aplicaron al ejecutar un script. Al extender sys.path en mi script, pude deshacerme de los errores de importación cuando lo ejecuté:

 import sys sys.path.extend(('C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin')) 

Finalmente, si desea algo más que una solución temporal, sys.path podría extenderse permanentemente estableciendo las variables IDLESTARTUP o PYTHONSTARTUP (como se describe aquí y aquí ).

Terminé depurando, copiando y pegando los archivos necesarios en las carpetas apropiadas. Es una solución temporal hasta que se soluciona el error, pero funciona.

Puede crear el archivo init.py dentro de la carpeta win32 y luego ir dentro de la carpeta win32com y cambiar su archivo __init .py, donde se importa win32api, cambie a win32 import win32api