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

使用PyInstaller打包Python文件为exe时出现__version__未定义报错

报错原因

这个NameError: name '__version__' is not defined报错触发根源是:

  • __version__是pyppeteer包内置的版本标识变量,正常运行Python脚本时会自动从包的安装元数据中读取
  • PyInstaller默认不会打包第三方依赖的元数据文件,导致打包后的可执行文件运行时无法加载到pyppeteer的版本信息,触发变量未定义错误
可行解决方法

方法1:硬编码版本号(修改源码,操作简单)

  1. 先执行命令查看本地安装的pyppeteer版本:
pip show pyppeteer
  1. 找到Python安装路径下的Lib/site-packages/pyppeteer/__init__.py文件,在文件最顶部添加一行代码,将版本号替换为你上一步查询到的实际版本:
__version__ = "0.2.5"
  1. 重新执行PyInstaller打包命令即可。

方法2:添加PyInstaller钩子(不修改源码,更规范)

  1. 在你的Python项目根目录新建名为hook-pyppeteer.py的文件,写入以下内容:
from PyInstaller.utils.hooks import copy_metadata
datas = copy_metadata('pyppeteer')
  1. 执行打包命令时新增--additional-hooks-dir=.参数,示例:
pyinstaller --additional-hooks-dir=. your_script.py

该参数会让PyInstaller自动打包pyppeteer的元数据文件,不需要修改依赖源码即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 18:06:03