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

PyInstaller打包Python项目后运行exe时goose3模块报资源文件缺失错误

根本原因

PyInstaller默认仅打包Python可执行脚本文件,不会自动识别打包第三方库依赖的非py格式静态资源文件。你遇到的报错是因为goose3运行需要调用其安装目录下resources images文件夹内的配置文件,打包时该文件夹没有被纳入dist目录,程序运行时找不到对应文件触发OSError。

解决步骤
  • 第一步:定位goose3资源目录
    打开你当前使用的Python环境(如果用虚拟环境需进入虚拟环境对应的路径)的site-packages文件夹,找到goose3目录,复制其中resources images文件夹的完整绝对路径备用。
  • 第二步:选择以下任意一种方式重新打包
    1. 命令行直接加参数打包
      Windows系统下直接在打包命令中添加--add-data参数指定资源映射规则,示例命令如下(替换其中的资源路径为你自己的本地路径):
    pyinstaller -F main.py --add-data "C:\你的本地路径\site-packages\goose3\resources images;./goose3/resources images"
    
    参数中;前为本地资源的源路径,;后为打包后资源在dist目录中的存放路径,需和报错中程序查找的路径完全匹配。
    2. 通过spec配置文件打包
    首次运行任意PyInstaller打包命令后,会生成和入口脚本(你的是main.py)同名的.spec文件,打开文件找到datas配置项,修改为如下格式:
    datas=[
        ("C:\你的本地路径\site-packages\goose3\resources images", "./goose3/resources images"),
    ],
    
    保存后执行命令pyinstaller main.spec即可完成打包。
  • 第三步:验证效果
    打包完成后打开dist目录,确认已生成goose3/resources images文件夹,且文件夹内包含known-image-css.txt等配置文件,此时运行exe即可正常调用goose3的抓取功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:06:04