ImportError: нет модуля с именем win32com.client


87

В настоящее время я использую python 2.7 и пытаюсь открыть лист Excel. При использовании кода ниже:

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')

Я получаю такую ​​ошибку:

ImportError: нет модуля с именем win32com.client

Есть ли возможность получить ошибку, поскольку я использую 64-битную машину Windows?


4
Просто проверяю, установили ли вы расширения: sourceforge.net/projects/pywin32 Это не стандартная библиотека.
Dair

1
На ваш вопрос был дан ответ здесь: superuser.com/questions/609447/… и здесь: stackoverflow.com/questions/7978510/…
Jordy19

Обратите внимание, что приведенный выше код выдает ошибку, даже если win32com установлен правильно. Третья строка должна быть xlApp = Dispatch ("Excel.Application")
ger.s.brett

Ответы:


148

pip install pywin32у меня не сработало, но сработало pypiwin32.


9
Если вы не можете найти pip в командной строке, это тоже работает: 'python -m pip install pypiwin32'
RoyM

2
У меня ничего из этого не сработало. Я пробовал pypiwin32 и pywin32, и оба они не работали.
Тисколин 06

9
Я получаю сообщение об ошибке: не удалось найти версию, удовлетворяющую требованию pywin32> = 223 (из pypiwin32) (из версий :) Для pywin32> = 223 (из pypiwin32) не найдено подходящего распределения, хотя я использую Python 2.7.10 - Кто-нибудь знает как это делать?
MACC

@MACC Имеет ту же проблему, но я использую две версии python, и я думаю, что они запутались. Вы когда-нибудь понимали это?
daniel9x


15

Попробуйте эту команду:

pip install pywin32

Заметка

Если выдает следующую ошибку:

Не удалось найти версию, которая удовлетворяет требованию pywin32> = 223 (из pypiwin32) (из версий :)
Для pywin32> = 223 не найдено подходящего распределения (из pypiwin32)

обновить 'pip', используя:

pip install --upgrade pip


6

Я понимаю, что этот пост старый, но я хотел добавить, что мне пришлось сделать дополнительный шаг, чтобы заставить его работать.

Вместо того, чтобы просто делать:

pip install pywin32

Я использовал -mфлаг, чтобы заставить это работать правильно. Без этого я столкнулся с проблемой, когда все еще получал ошибкуImportError: No module named win32com .

Итак, чтобы исправить это, вы можете попробовать:

python -m pip install pywin32

Это сработало для меня и сработало над несколькими версиями python, где просто pip install pywin32не сработало.

Версии протестированы на:

3.6.2, 3.7.6, 3.8.0, 3.9.0a1.


4

Была точно такая же проблема, и ни один из ответов здесь мне не помог. Пока я не найду эту тему и не опубликую

Коротко: модули win32 не гарантируют правильную установку с помощью pip. Устанавливайте их прямо из пакетов, предоставленных разработчиками на github . Работает как часы.


0

Попробуйте установить файл "pywin32", его можно найти по адресу https://github.com/mhammond/pywin32/releases.

Установите версию, которую вы используете в своем IDLE, и попробуйте установить, после того как вы сможете открыть свой проект и скомпилировать еще раз!

Благодарность !


0

в некоторых случаях, когда pywin32 не является прямой ссылкой, а другие библиотеки требуют установки pywin32-ctypes; вызывает ошибку «ImportError: Нет модуля с именем win32com», когда приложение связано с pyinstaller.

выполнение следующей команды решает проблему на python 3.7 - pyinstaller 3.6

pip install pywin32==227
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.