问题背景
最近换了电脑,准备把之前的一个python项目的环境重装一下,这次打算使用Anaconda来装,没想到第一次使用Anaconda就翻车了😢
虽然我使用conda 创建了新的环境, 但是我在安装 依赖的时候 还是用的pip install -r requirements.txt 来安装的。当我安装后,尝试运行项目的初始化程序,便出现了报错:
DLL load failed while importing win32api: 找不到指定的模块。
大部分的做法
在网上找了一堆,大部分的做法如下:(但对于我来说没有用,按照他们的测试是成功的,但在项目中还是报错,目前也不清楚具体原因)
win32api:找不到指定的模块_importerror: dll load failed while importing win32-CSDN博客
还有一种,但是我并没尝试(但我觉得可以试试):
DLL load failed while importing win32api: 找不到指定的模块_importing pywintypes-CSDN博客
最后在 github 上找了一个方法,尝试了一下并最终解决:
原文:`pip install pywin32` inside Conda Python 3.8/3.9 env causes DLL module not found error · Issue #1865 · mhammond/pywin32 · GitHub不过它升级了我python 版本从 3.8.10 ->3.8.19 ,只是升级了修订版本号,问题不大。
最后想想 ,conda 本来就是干这些事情的
- 依赖解决:Conda自动处理包及其依赖的安装、更新和卸载,确保所有依赖关系的一致性和完整性,避免手动解决复杂的依赖问题。
最后
提醒一下
如果使用 python pywin32_postinstall.py -install ,在切换pywin32版本时要注意将 当前环境根目录下的两个dll文件删除掉,我因为没有这两个文件后面又出现了其他的报错,
ImportError: DLL load failed while importing pythoncom: 找不到指定的程序因为我先前有测试过这个方法,并且后面又用conda 安装了其他的版本的pywin32(大概是2xx的版本),而最后的使用conda 安装后并没有执行过pywin32_postinstall.py 这个安装程序,这就导致了 先前复制的两个dll文件和当前的pywin32 版本不一致。