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

PyInstaller打包TensorFlow 1.15程序运行导入时出现ValueError问题

问题解决方案

该报错根源为conda环境下TensorFlow 1.x安装包内的protobuf自动生成.py文件携带隐藏空字符,或是PyInstaller打包时未正确过滤TensorFlow依赖项里的无效字节,并非直接的版本兼容性问题,可按以下步骤逐一排查解决:

步骤1:修复TensorFlow源码中的空字符

  • 定位当前conda环境下的TensorFlow安装路径,找到报错提示的tensorflow_core/core/framework/graph_pb2.py文件
  • 用文本编辑器打开该文件,全局替换删除所有\x00空字符后保存
  • 可对同一目录下其他*_pb2.py文件做相同处理,避免后续出现同类报错

步骤2:调整PyInstaller打包配置

打包时主动排除自动识别的TensorFlow依赖,手动将完整的TensorFlow目录作为数据文件打入包内,打包命令参考:

pyinstaller -F your_script.py --add-data "你的conda环境路径/site-packages/tensorflow;tensorflow" --add-data "你的conda环境路径/site-packages/tensorflow_core;tensorflow_core"

如果使用.spec配置文件打包,直接在datas列表中添加上述两个目录的映射即可。

步骤3:更换TensorFlow安装源

如果上面两步操作后仍然报错,卸载conda源安装的TensorFlow,改用pip官方源重新安装:

pip uninstall tensorflow -y
pip install tensorflow==1.15 --no-cache-dir

重新安装后再执行打包操作即可解决空字符问题。

额外注意事项

  • 打包前先清空PyInstaller的缓存目录(默认是用户目录下的./PyInstaller文件夹,或是打包生成的build文件夹),避免旧错误缓存影响打包结果
  • 优先使用PyInstaller 4.0以下版本,更高版本对Python 3.6/3.7和TensorFlow 1.x的适配性更差

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:27:06