簡體   English   中英

導入錯誤:沒有名為 win32com.client 的模塊

[英]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.clientpywin32的一部分

所以,從這里下載 pywin32

試試這個命令:

pip install pywin32

筆記

如果它給出以下錯誤:

找不到滿足要求的版本 pywin32>=223 (from pypiwin32) (from versions:)
找不到 pywin32>=223 的匹配分布(來自 pypiwin32)

升級“pip”,使用:

pip install --upgrade pip

嘗試pip install pywin32pip 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 的模塊

  1. 在管理員模式下打開命令提示符

  2. 安裝 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的一部分

1.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 ))。

2.PyPIWin32

僅存在於[PyPI]: pypiwin32 上

目前(在回答時)只有 3 個版本:

  1. v219 (自20141203 起):

    • 包含各種Python版本的.whl
  2. v220 (自20170112 起):

    • 僅包含.whl s for Python 3.6
  3. v223 (自20180226 起):

    • 僅包含一個沒有數據.whl (但具有PyWin32作為依賴項)

另請查看 Mark Hammond 的回答: [GitHub]: mhammond/pywin32 - Add CascadeWindows wrapper (@mhammond's comment)

從上面只能得出結論, PyPIWin32只是測試新引入的.whl打包方案的游樂場,並且(1 版除外)只是垃圾。

作為結果:

不要安裝PyPIWin32pip install pypiwin32

您只需要安裝PyWin32python -m pip install pywin32

如果在那之后它不起作用,還有其他問題。
以下是一些與潛在問題(以及克服這些問題的方法)、一般建議等相關的鏈接:

我對這個特定的庫沒有任何經驗(我只是自己進入它),但我注意到你只從模塊中導入了Dispatch類。 所以你要么只需要改變你的導入:

import win32com.client

或者改變你的實例調用:

xlApp = Dispatch("Excel.Application")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM