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

使用PyInstaller打包含fpdf2模块的Python程序时遇ModuleNotFoundError

解决PyInstaller打包fpdf2模块报错找不到'fpdf'的问题

问题分析

你安装的是fpdf2模块,但打包后报错提示找不到fpdf,核心原因是:

  • 脚本中可能使用了import fpdf的导入语句(fpdf2兼容旧版fpdf的导入方式,但PyInstaller无法自动识别这个别名关联)
  • 之前的打包命令指定了错误的隐藏导入目标(fpdf而非实际安装的fpdf2)

解决方案

方案1:修改脚本导入语句(推荐)

将脚本里的import fpdf替换为:

import fpdf2 as fpdf

既保留原有代码的兼容性,又明确指向已安装的fpdf2模块,之后重新打包:

pyinstaller example.py --onefile

方案2:指定正确的隐藏导入参数

如果不想修改代码,打包时直接指定fpdf2作为隐藏导入:

pyinstaller example.py --onefile --hidden-import "fpdf2"

方案3:手动编辑spec文件配置

  1. 先生成spec文件:
pyinstaller example.py --onefile
  1. 打开生成的example.spec文件,找到hiddenimports字段,修改为:
hiddenimports=['fpdf2'],
  1. 用spec文件重新打包:
pyinstaller example.spec

方案4:确认虚拟环境(若使用)

如果是在虚拟环境中开发,打包前务必激活对应虚拟环境,避免PyInstaller调用系统全局Python环境导致模块路径错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:40:44