[英]ImportError: No module named win32com.client
我目前正在使用 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')
我收到此錯誤:
導入錯誤:沒有名為 win32com.client 的模塊
由於我使用的是 64 位 Windows 機器,是否有可能出現錯誤?
pip install pywin32
對我不起作用,但pypiwin32
了。
win32com.client
是pywin32的一部分
所以,從這里下載 pywin32
試試這個命令:
pip install pywin32
筆記
如果它給出以下錯誤:
找不到滿足要求的版本 pywin32>=223 (from pypiwin32) (from versions:)
找不到 pywin32>=223 的匹配分布(來自 pypiwin32)
升級“pip”,使用:
pip install --upgrade pip
嘗試pip install pywin32
和pip install pypiwin32
。
有用。
我意識到這篇文章很舊,但我想補充一點,我必須采取額外的步驟才能讓它發揮作用。
而不是僅僅做:
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。
有完全相同的問題,這里的答案都沒有幫助我。 直到我找到這個帖子並發布
簡而言之:不能保證使用 pip 正確安裝 win32 模塊。 直接從開發人員在 github 上提供的包中安裝它們。 它就像一個魅力。
您必須安裝包pywin32
:
pip install pywin32
安裝后import win32com.client
Python 擁有名為pywin32
的“Python for Windows Extensions”包,它允許我們輕松訪問 Window 的組件對象模型 (COM) 並控制 Microsoft 應用程序。
嘗試安裝“pywin32”文件,你可以在https://github.com/mhammond/pywin32/releases 中找到
安裝你在IDLE中使用的版本,然后嘗試安裝,打開你的項目再編譯一遍即可!
謝謝 !
在某些情況下,pywin32 不是直接引用,其他庫需要安裝 pywin32-ctypes; 當應用程序與 pyinstaller 捆綁在一起時,會導致“ImportError: No module named win32com”。
在 python 3.7 上運行以下命令可以解決 - pyinstaller 3.6
pip install pywin32==227
我在使用 Windows 的 64 位筆記本電腦上使用 Visual Studio Code。 我最終得到了這個工作! 首先正常安裝pywin32:
python -m pip install pywin32
如果您使用的是 Code Runner,您可能需要確保您的代碼中有正確的模塊路徑:
import sys
sys.path.append("C:\\_path_to_virtual_environment\\Lib\\site-packages\\")
import win32com.client as win32
現在將終端窗口中的目錄更改為腳本文件夾並運行:
python pywin32_postinstall.py -install
這將更改您的錯誤消息,表明您缺少 win32api 模塊。 要得到這個,安裝這個:
python -m pip install pypiwin32
我不會說我對所有這些命令的作用有深刻的了解,但它(最終)解決了我的問題!
在管理員模式下打開命令提示符
安裝 win32com.client
一種。 通過pip安裝方法
pip install win32 If this throws error: version of win32 not determined then try installing via b. By pypi install method
灣通過pypi安裝方法
python -m pip install pywin32
3.在python路徑中添加程序路徑
Win32COM是(並且一直是) PyWin32的一部分。
[GitHub]: mhammond/pywin32 - Python for Windows (pywin32) Extensions is a Python wrapper over WinAPI s).
一些文檔可以在[ME.TimGolden]: Python for Win32 Extensions Help找到。
最近,二進制文件 ( .whl s) 在[PyPI] 上發布:pywin32 (從v222開始(從20180121開始)——有一些較舊的記錄,但它們不包含任何(有用的)包)。
與許多其他軟件一樣,它以前托管在[SourceForge] 上:mhammond - Python for Windows 擴展(二進制文件(( .exe )安裝程序)也在那里發布 - 最后一個v221 (來自20170329 ))。
僅存在於[PyPI]: pypiwin32 上。
目前(在回答時)只有 3 個版本:
v219 (自20141203 起):
v220 (自20170112 起):
v223 (自20180226 起):
另請查看 Mark Hammond 的回答: [GitHub]: mhammond/pywin32 - Add CascadeWindows wrapper (@mhammond's comment) 。
從上面只能得出結論, PyPIWin32只是測試新引入的.whl打包方案的游樂場,並且(第1 版除外)只是垃圾。
作為結果:
pip install pypiwin32
您只需要安裝PyWin32 : python -m pip install pywin32
。
如果在那之后它不起作用,還有其他問題。
以下是一些與潛在問題(以及克服這些問題的方法)、一般建議等相關的鏈接:
我對這個特定的庫沒有任何經驗(我只是自己進入它),但我注意到你只從模塊中導入了Dispatch類。 所以你要么只需要改變你的導入:
import win32com.client
或者改變你的實例調用:
xlApp = Dispatch("Excel.Application")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.