ImportError: ไม่มีโมดูลชื่อ win32com.client


88

ตอนนี้ฉันใช้ 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

มีความเป็นไปได้หรือไม่ที่จะได้รับข้อผิดพลาดเนื่องจากฉันใช้เครื่อง Windows 64 บิต


4
เพียงแค่การตรวจสอบคุณไม่ติดตั้งส่วนขยายนี้: sourceforge.net/projects/pywin32มันเป็นไม่ห้องสมุดมาตรฐาน
Dair

2
มีคำตอบสำหรับคำถามของคุณที่นี่: superuser.com/questions/609447/…และที่นี่: stackoverflow.com/questions/7978510/…
Jordy19

โปรดทราบว่ารหัสด้านบนทำให้เกิดข้อผิดพลาดแม้ว่าจะติดตั้ง win32com ถูกต้อง บรรทัดที่ 3 ต้องเป็น xlApp = Dispatch ("Excel.Application")
ger.s.brett

คำตอบ:


150

pip install pywin32ไม่ได้ผลสำหรับฉัน แต่pypiwin32ทำ


9
หากคุณไม่พบ pip ในบรรทัดคำสั่งสิ่งนี้ก็ใช้ได้เช่นกัน: 'python -m pip install pypiwin32'
RoyM

2
สิ่งเหล่านี้ไม่ได้ผลสำหรับฉัน ฉันลองทั้ง pypiwin32 และ pywin32 แล้วทั้งคู่ไม่ได้ผล
Tiskolin

11
ฉันได้รับข้อผิดพลาด: ไม่พบเวอร์ชันที่ตรงตามข้อกำหนด pywin32> = 223 (จาก pypiwin32) (จากเวอร์ชัน :) ไม่พบการแจกแจงที่ตรงกันสำหรับ pywin32> = 223 (จาก pypiwin32) แม้ว่าฉันจะใช้ Python 2.7.10 - ไม่มีใครรู้วิธีทำ?
MACC

@MACC มีปัญหาเดียวกัน แต่ฉันใช้ python สองเวอร์ชันและฉันคิดว่าพวกเขากำลังสับสน คุณเคยคิดออกไหม?
daniel9x


17

ลองใช้คำสั่งนี้:

pip install pywin32

บันทึก

หากมีข้อผิดพลาดต่อไปนี้:

ไม่พบเวอร์ชันที่ตรงตามข้อกำหนด pywin32> = 223 (จาก pypiwin32) (จากเวอร์ชัน :)
ไม่พบการแจกแจงที่ตรงกันสำหรับ pywin32> = 223 (จาก pypiwin32)

อัปเกรด 'pip' โดยใช้:

pip install --upgrade pip


6

ฉันรู้ว่าโพสต์นี้เก่า แต่ฉันต้องการเพิ่มว่าฉันต้องดำเนินการเพิ่มเติมเพื่อให้สิ่งนี้ใช้งานได้จริง

แทนที่จะทำเพียง:

pip install pywin32

ฉันใช้ use the -mflag เพื่อให้มันทำงานได้อย่างถูกต้อง ถ้าไม่มีฉันก็พบปัญหาที่ฉันยังคงได้รับข้อผิดพลาด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 ติดตั้งพวกเขาโดยตรงจากแพคเกจให้บริการโดย developpers บน GitHub มันใช้งานได้เหมือนมีเสน่ห์


0

ลองติดตั้งไฟล์ "pywin32" คุณจะพบในhttps://github.com/mhammond/pywin32/releases

ติดตั้งเวอร์ชันที่คุณใช้ใน IDLE ของคุณและลองติดตั้งหลังจากที่คุณสามารถเปิดโปรเจ็กต์ของคุณและรวบรวมเทิร์นใหม่ได้!

ขอบคุณ!


0

ในบางกรณีที่ pywin32 ไม่ใช่ข้อมูลอ้างอิงโดยตรงและไลบรารีอื่น ๆ ต้องการให้ติดตั้ง pywin32-ctypes ทำให้เกิด "ImportError: No module named win32com" เมื่อแอปพลิเคชันที่มาพร้อมกับ pyinstaller

การรันคำสั่งต่อไปนี้แก้บน python 3.7 - pyinstaller 3.6

pip install pywin32==227
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.