You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstaller打包Python项目后出现pdfium库找不到的报错问题

解决PyInstaller打包pypdfium2时的ImportError问题

问题原因

pypdfium2依赖的pdfium二进制库是动态加载的,PyInstaller默认不会自动收集这类非Python代码的二进制文件,导致打包后的EXE运行时找不到该库。

解决方案

方法1:用PyInstaller参数自动收集依赖

直接在打包命令中添加--collect-all pypdfium2_raw,让PyInstaller收集pypdfium2_raw包下的所有文件(包括二进制库):

pyinstaller --onefile --collect-all pypdfium2_raw app.py

--onefile是生成单EXE文件的参数,不需要单文件可去掉。

方法2:通过Spec文件手动添加二进制文件

  1. 生成默认spec文件:
pyinstaller app.py --name your_app_name
  1. 打开your_app_name.spec,修改datas列表,添加pdfium二进制文件的路径映射(替换为你本地实际路径,Windows 64位示例):
datas=[
    (r'C:\Python310\Lib\site-packages\pypdfium2_raw\bin\win64\pdfium.dll', '.')
]
  1. 用修改后的spec文件重新打包:
pyinstaller your_app_name.spec

方法3:在代码中指定pdfium库路径

导入pypdfium2前,手动设置环境变量指定pdfium.dll路径(需确保打包后该文件与EXE同目录):

import os
os.environ['PDFIUM_LIBRARY_PATH'] = os.path.join(os.getcwd(), 'pdfium.dll')
import pypdfium2 as pdfium

# 后续业务代码不变

打包后需手动将pdfium.dll复制到EXE输出目录。

内容的提问来源于stack exchange,提问作者Sanjar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:14:49