You need to enable JavaScript to run this app. 为什么pyinstaller打包生成的可执行文件运行时报提取文件失败错误
优惠活动
大模型
产品
解决方案
定价
更多

为什么pyinstaller打包生成的可执行文件运行时报提取文件失败错误

问题原因

你的报错核心是--add-data参数的格式使用错误,具体问题如下:

  • PyInstaller在Windows平台下--add-data的语法规则为源路径;部署目标路径:通配符*仅允许出现在源路径中,用来匹配需要打包的文件,部署目标路径不能包含通配符,它是指定打包后的资源在exe运行时要释放到的目录路径。
  • 你当前的参数里把部署目标路径写成了<path_to>\Pack_Movements\datacreationScripts\utilities\init_data\*,路径里包含非法字符*,Windows系统不允许路径中存在*、?、<这类特殊字符,exe运行时尝试创建该非法路径失败,就会抛出fopen: Invalid argument的报错,和你本地是否存在Readme.txt没有关系,报错里的Readme.txt是资源释放过程中路径拼接后输出的提示内容。
  • 额外说明:部署目标路径不需要写本地绝对路径,只需要填写相对exe运行临时目录的相对路径即可,写成本地绝对路径会导致其他用户运行exe时尝试创建你本地的路径,大概率也会报错。
修复方法

方法1:直接修改打包命令

将--add-data参数修正为如下格式即可,重新运行打包命令:

pyinstaller -F --add-data "<path_to>\Pack_Movements\*;datacreationScripts\utilities\init_data" main.py

方法2:修改spec文件后打包

把spec文件中datas对应的行修改为:

datas=[('<path_to>\\Desktop\\test\\Pack_Movements\\*', 'datacreationScripts\\utilities\\init_data')],

修改完成后执行pyinstaller main.spec重新打包即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 19:45:05