ImportError: aucun module nommé win32com.client


87

J'utilise actuellement python 2.7 et j'essaye d'ouvrir une feuille Excel. Lorsque vous utilisez le code ci-dessous:

import os
from win32com.client import Dispatch

xlApp = win32com.client.Dispatch("Excel.Application")
xlApp.Visible = True
# Open the file we want in Excel
workbook = xlApp.Workbooks.Open('example.xls')

J'obtiens cette erreur:

ImportError: aucun module nommé win32com.client

Y a-t-il une possibilité d'obtenir l'erreur puisque j'utilise une machine Windows 64 bits?


4
Juste en vérifiant, avez-vous installé les extensions: sourceforge.net/projects/pywin32 Ce n'est pas une bibliothèque standard.
Dair

1
Votre question a reçu une réponse ici: superuser.com/questions/609447/… et ici: stackoverflow.com/questions/7978510/…
Jordy19

Notez que le code ci-dessus donne une erreur même si le win32com est installé correctement. La troisième ligne doit être xlApp = Dispatch ("Excel.Application")
ger.s.brett

Réponses:


147

pip install pywin32n'a pas fonctionné pour moi mais a pypiwin32fait.


9
Si vous ne trouvez pas pip sur la ligne de commande, cela fonctionne aussi: 'python -m pip install pypiwin32'
RoyM

2
Aucun de ceux-ci n'a fonctionné pour moi. J'ai essayé à la fois pypiwin32 et pywin32 et ils n'ont pas fonctionné tous les deux.
Tiskolin

9
J'obtiens une erreur: Impossible de trouver une version qui satisfait à l'exigence pywin32> = 223 (à partir de pypiwin32) (à partir des versions:) Aucune distribution correspondante trouvée pour pywin32> = 223 (à partir de pypiwin32) bien que je sois sur Python 2.7.10 - est-ce que quelqu'un sait comment le faire?
MACC

@MACC J'ai le même problème, mais j'utilise deux versions de python et je pense qu'ils sont confus. L'avez-vous déjà compris?
daniel9x


15

Essayez cette commande:

pip install pywin32

Remarque

Si cela donne l'erreur suivante:

Impossible de trouver une version qui satisfait à l'exigence pywin32> = 223 (à partir de pypiwin32) (à partir des versions :)
Aucune distribution correspondante trouvée pour pywin32> = 223 (à partir de pypiwin32)

mettre à niveau 'pip', en utilisant:

pip install --upgrade pip


6

Je me rends compte que cet article est ancien mais je voulais ajouter que je devais faire un pas supplémentaire pour que cela fonctionne.

Au lieu de simplement faire:

pip install pywin32

J'avais utilisé le -mdrapeau pour que cela fonctionne correctement. Sans cela, je rencontrais un problème où j'obtenais toujours l'erreur ImportError: No module named win32com.

Donc, pour résoudre ce problème, vous pouvez essayer ceci:

python -m pip install pywin32

Cela a fonctionné pour moi et a travaillé sur plusieurs versions de python où le simple fait de faire pip install pywin32ne fonctionnait pas.

Versions testées sur:

3.6.2, 3.7.6, 3.8.0, 3.9.0a1.




0

dans certains cas où pywin32 n'est pas la référence directe et d'autres bibliothèques nécessitent l'installation de pywin32-ctypes; provoque le "ImportError: Aucun module nommé win32com" lorsque l'application est fournie avec pyinstaller.

l'exécution de la commande suivante résout sur python 3.7 - pyinstaller 3.6

pip install pywin32==227
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.