导入win32com.client报错DLL load failed,已装pywin32仍无法解决
导入win32com.client时DLL加载失败问题
问题详情
导入win32com.client模块时触发错误:
DLL load failed: The specified module could not be found
报错代码位置:
\venv\lib\site-packages\win32\lib\pywintypes.py line 118 in __pywin32_system_module__ mod = importlib.util.module_from_spec(spec)
打印spec变量确认路径正确:
ModuleSpec(name='pywintypes', loader=<frozen_importlib_external.ExtensionFileLoader object at 0x0000020060A79208>, origin='C:\\Users\\ilyes\\Documents\\venv\\lib\\site-packages\\pywin32_system32\\pywintypes37.dll')
已确认信息
- 已通过pip安装
pywin32==306 pythoncom37.dll、pywintypes37.dll均存在于venv\lib\site-packages\pywin32_system32\路径下- 系统环境:
- Python 3.7(Windows)
- pywin32 306
- Windows 10 22H2 19045.4412(虚拟机)
即便满足以上条件,仍无法导入win32com.client。
解决方法
运行pywin32后置安装脚本:激活虚拟环境后执行
python.exe -m pywin32.postinstall -install该脚本会自动注册必要的DLL文件,修复注册缺失问题。
添加路径到系统PATH:手动将
C:\Users\ilyes\Documents\venv\lib\site-packages\pywin32_system32加入系统PATH环境变量,重启终端和Python解释器后重试。检查权限:以管理员身份运行终端,激活虚拟环境后再尝试导入模块,避免虚拟机权限限制导致的DLL加载失败。
重装pywin32并清理缓存:
pip uninstall -y pywin32 pip install pywin32==306 --no-cache-dir
内容的提问来源于stack exchange,提问作者ILyes Haddad
相关产品推荐
相关产品推荐

