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, і вони обидва не працювали.
Тісколін

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.