使用auto-py-to-exe生成的exe运行报错:找不到pikepdf包元数据
解决"No package metadata was found for pikepdf"报错的方案
1. 确认auto-py-to-exe使用的Python环境正确
- 打开auto-py-to-exe,切换到「Advanced」标签,检查「Python Executable」路径是否指向你安装pikepdf的Python解释器(比如虚拟环境内的python.exe)。
- 如果你用了虚拟环境,先激活环境,再从命令行启动auto-py-to-exe:
auto-py-to-exe,这样工具会自动加载当前环境的依赖。
2. 用PyInstaller命令手动指定依赖
auto-py-to-exe基于PyInstaller封装,直接用PyInstaller命令并强制引入pikepdf的元数据模块:
pyinstaller --onefile --hidden-import=pikepdf.__main__ --hidden-import=pikepdf._metadata 你的脚本文件名.py
如果脚本用到pikepdf的其他子模块,也可以添加到--hidden-import参数后。
3. 清理旧构建缓存
- 删除auto-py-to-exe生成的
build、dist文件夹,以及你的脚本文件名.spec文件。 - 重新打开auto-py-to-exe,重新配置并生成exe,避免缓存里的旧依赖导致问题。
4. 安装兼容版本的pikepdf
部分新版本pikepdf可能和PyInstaller存在兼容性问题,可以试试安装稳定版本:
pip uninstall pikepdf -y pip install pikepdf==7.2.0
安装完成后重新生成exe。
5. 检查pikepdf安装完整性
运行以下命令查看pikepdf的安装信息:
pip show pikepdf
根据输出里的「Location」路径,进入对应目录下的pikepdf文件夹,确认是否存在__init__.py、_metadata.py等文件。如果缺失,执行强制重装:
pip install pikepdf --force-reinstall --no-cache-dir
内容的提问来源于stack exchange,提问作者rohit kumar
相关产品推荐
相关产品推荐

