Python

解决报错No module named ‘win32api’

2023-09-14  本文已影响0人  粗识名姓

Part 1

常规的解决办法如 pip install pywin32pip install pypiwin32 就无需多言了,这里主要记录一下非常见的解决方法,参考

根据文献描述,报错原因在于缺少两个dll文件:pythoncom310.dllpywintypes310.dll, 命令行进入python安装路径执行:

cd D:\Python
python Scripts/pywin32_postinstall.py -install

之后在系统盘 C:\Windows\System32 可以找到上述两个dll文件,讲这两个文件移动(剪切)到python路径下文件夹 D:\Python\Lib\site-packages\win32 中。
然后编辑python路径下的python3xx._pth文件,内容如下:

Lib/site-packages
Lib/site-packages/win32
Lib/site-packages/win32/lib
Lib/site-packages/pythonwin
python310.zip
.

经过上面的修改,报错的问题应该就解决了!

Part 2

使用精简的Python环境包的情况下遇到这个报错情况又不一样,如果照抄 Part 1 的解决办法,由于python3xx._pth文件的配置与精简包配置冲突,会导致别的包报错,所以只能按照精简包原配置文件的方法修改
定位配置文件 sitecustomize.py, 在精简python路径下的python3xx.zip压缩文件中,解压出来之后编辑内容然后重新压缩进去,定位调用sys.path.append方法的内容,添加部分如下:

try:
    if os.path.exists(os.path.join(sp_dir, 'win32')):
        sys.path.append(os.path.join(sp_dir, 'win32'))
        sys.path.append(os.path.join(sp_dir, 'win32/lib'))
        sys.path.append(os.path.join(sp_dir, 'pythonwin'))
except:
    pass

End

上一篇 下一篇

猜你喜欢

热点阅读