Msys2中安装Pymupdf后导入失败(DLL加载错误)求助
问题描述
在Msys2的mingw64环境中安装了包mingw-w64-x86_64-python-pymupdf(对应PyMuPDF),该包在路径C:\msys64\mingw64\lib\python3.12\site-packages下生成了fitz_old文件夹,但执行import fitz_old时出现错误:
ImportError: DLL load failed while importing _fitz_old
补充信息:
- Windows10本地Python3.13通过pip安装PyMuPDF可正常使用
- Msys2环境中的Python3.12(路径为
C:\msys64\mingw64\bin\python.exe)使用其他包均正常,仅PyMuPDF出现问题 - 怀疑是DLL文件丢失或损坏
解决步骤
检查DLL依赖完整性
打开Msys2的mingw64终端,执行以下命令检查_fitz_old.pyd的依赖情况:ldd /mingw64/lib/python3.12/site-packages/fitz_old/_fitz_old.pyd输出中如果出现
not found的条目,说明对应依赖DLL缺失,通过pacman安装对应的包即可。重新安装包并清理缓存
- 卸载现有PyMuPDF包:
pacman -Rns mingw-w64-x86_64-python-pymupdf - 清理pacman缓存:
pacman -Sc - 重新安装包:
pacman -S mingw-w64-x86_64-python-pymupdf
- 卸载现有PyMuPDF包:
调整环境变量避免冲突
确保Msys2的C:\msys64\mingw64\bin路径在Windows系统环境变量PATH的最前端,防止本地Python的DLL干扰Msys2环境的依赖加载。尝试用pip在Msys2环境安装
若pacman安装的包仍有问题,可尝试用Msys2自带的pip安装:- 先卸载pacman版本的包:
pacman -Rns mingw-w64-x86_64-python-pymupdf - 使用mingw64的pip安装PyMuPDF:
安装完成后尝试/mingw64/bin/pip.exe install pymupdfimport fitz(注意这里是fitz而非fitz_old,pip安装的PyMuPDF通常使用fitz作为导入名)
- 先卸载pacman版本的包:
内容的提问来源于stack exchange,提问作者user20602609
相关产品推荐
相关产品推荐

