导入错误:没有名为 win32com.client 的模块
- 2025-02-13 08:35:00
- admin 原创
- 71
问题描述:
我目前正在使用 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 机器,是否有可能出现错误?
解决方案 1:
pip install pywin32
对我来说没用,但pypiwin32
确实有用。
解决方案 2:
win32com.client
是pywin32的一部分
因此,从这里下载 pywin32
解决方案 3:
尝试这个命令:
pip install pywin32
笔记
如果出现以下错误:
找不到满足要求 pywin32>=223 的版本(来自 pypiwin32)(来自版本:)
未找到与 pywin32>=223 匹配的分布(来自 pypiwin32)
升级‘pip’,使用:
pip install --upgrade pip
解决方案 4:
我意识到这个帖子已经很旧了,但我想补充一点,我必须采取额外的步骤才能使其发挥作用。
而不是仅仅这样做:
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。
解决方案 5:
pip install pywin32
和都尝试一下pip install pypiwin32
。
有用。
解决方案 6:
您必须安装该包pywin32
:
pip install pywin32
安装后import win32com.client
Python 有一个称为“Python for Windows Extensions”的包,pywin32
它允许我们轻松访问 Windows 的组件对象模型 (COM) 并控制 Microsoft 应用程序。
解决方案 7:
遇到了完全相同的问题,但这里的答案都对我没用。直到我找到这个帖子和帖子
简而言之:win32 模块不能保证使用 pip 正确安装。
直接从 github 上的开发者提供的包中安装它们。它非常有效。
解决方案 8:
Win32COM是(并且一直是)PyWin32的一部分。
1.PyWin32
文档(WiP)可在[GitHub.MHammond]: Python for Win32 Extensions Help(或[ME.TimGolden]: Python for Win32 Extensions Help)中找到。
最近,二进制文件(.whl )在[PyPI]: pywin32上发布(从v222开始(从20180121开始) - 有几个较旧的记录,但它们不包含任何(有用的)包)。
与许多其他软件一样,它之前托管在[SourceForge]: mhammond - Python for Windows Extensions上。
二进制文件((.exe)安装程序):
也在那里被释放
+ 最后一个:***v221***(来自*20170329*)
也可以在GitHub上使用(但已被弃用)
2.PyPIWin32教程
仅存在于[PyPI]: pypiwin32。
目前(回答时),只有 3 个版本:
v219(来自20141203):
* 包含各种*Python*版本的*.whl*
v220(自20170112起):
* 仅包含适用于*Python 3.6 的**.whl*
v223(来自20180226):
* 仅包含一个**没有数据的***.whl* (但具有*PyWin32*作为依赖项)
另请查看 Mark Hammond 的回答:[GitHub]: mhammond/pywin32 - 添加 CascadeWindows 包装器(@mhammond 的评论)(重点是我的):
它在 pywin32 本身支持打包为 wheel 之前就已经存在了。我认为它目前没有太大的价值,但想必仍然有一些东西依赖于它?老实说,我甚至不记得是谁创建的,因为我想我们应该问他(但要知道不是我!)
从以上内容来看,我们只能得出结论,Py PI Win32只是一个测试新引入的.whl打包方案的游乐场,而现在(也许除了第一个版本)只是垃圾。
因此:
不要安装PyPIWin32 ( pip install pypiwin32
)
pip install pypiwin32
安装PyWin32就是您所需要的:(python -m pip install pywin32
也可以针对特定的(PyWin32)版本)。
如果之后仍然不起作用,则还有其他问题。
以下是一些链接,其中包含潜在问题(以及解决这些问题的方法)、一般建议等:
[SO]:如何在 Windows 10 上安装特定 Python 版本的软件包?(@CristiFati 的回答)
[SO]:PyCharm 无法识别已安装的模块 (@CristiFati 的回答)
[SO]:如何自动更新 pywin32?(@CristiFati 的回答)
[SO]:在 MacOs 和 Linux 上安装 win32com (@CristiFati 的回答)
解决方案 9:
我在装有 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
我不会说我对所有这些命令的作用有深刻的了解,但它(最终)解决了我的问题!
解决方案 10:
在某些情况下,pywin32 不是直接引用,而其他库需要安装 pywin32-ctypes;当应用程序与 pyinstaller 捆绑时会导致“ImportError:没有名为 win32com 的模块”。
在 python 3.7 - pyinstaller 3.6 上运行以下命令可解决问题
pip install pywin32==227
解决方案 11:
尝试安装“pywin32”文件,您可以在https://github.com/mhammond/pywin32/releases中找到
安装你在IDLE中使用的版本,并尝试安装,之后你就可以打开你的项目并进行另一次编译!
谢谢 !
解决方案 12:
导入错误:没有名为 win32com.client 的模块
以管理员模式打开命令提示符
安装 win32com.client
通过 pip install 方法
pip install win32
If this throws error: version of win32 not determined then try installing via b. By pypi install method
通过 pypi install 方法
python -m pip install pywin32
3.将程序路径添加到python路径中
解决方案 13:
如果您已经安装了库但仍然出现错误,您需要检查库安装在哪个文件夹中,然后将其复制粘贴到正确的文件夹中。
库应该安装在与 python 相同的目录中。