Windows环境下编译TensorFlow失败问题求助
问题描述
在Windows环境下已安装TensorFlow源码编译所需全部依赖,在Visual Studio 2022开发者命令提示符的Python 3.9.7虚拟环境中执行以下操作:
- 运行
python configure.py并接受所有默认配置 - 执行
bazel build //tensorflow/tools/pip_package:build_pip_package
编译时出现两类问题:
cc_shared_library规则不存在shared_lib_name、win_def_file属性,导致分析失败- 两个依赖包从镜像地址下载时返回404错误
尝试过master分支和v2.9.1标签,问题完全一致,当前使用的Bazel版本为5.0.0。
解决方案
1. 升级Bazel至兼容版本
Bazel 5.0.0不支持TensorFlow BUILD文件中cc_shared_library规则的新增属性,必须升级到Bazel 5.3.0:
- 卸载现有Bazel 5.0.0
- 安装对应Windows版本的Bazel 5.3.0
- 执行
bazel --version确认版本切换成功
2. 修复依赖下载失败问题
镜像地址失效导致依赖无法获取,修改TensorFlow根目录下的.bazelrc文件:
- 找到包含
storage.googleapis.com/mirror.tensorflow.org的两行配置,替换为原项目地址:- 将TensorFlow runtime依赖地址替换为
https://github.com/tensorflow/runtime/archive/e1212041914020e9ff402c8c3c04e5e3c771d166.tar.gz - 将LLVM项目依赖地址替换为
https://github.com/llvm/llvm-project/archive/5ae0472694f5d53c0b889a48dc042961291d2341.tar.gz
- 将TensorFlow runtime依赖地址替换为
- 执行
bazel clean清理旧缓存
3. 重新执行构建流程
- 重新运行配置脚本:
python configure.py(全部接受默认选项) - 执行构建命令:
bazel build //tensorflow/tools/pip_package:build_pip_package
额外排查点
如果问题仍存在:
- 确认Visual Studio 2022已安装完整的C++桌面开发组件
- 检查虚拟环境是否安装了numpy、wheel等必备依赖
- 可尝试切换到TensorFlow v2.10.0分支,该版本与Bazel 5.3.0兼容性更稳定
内容的提问来源于stack exchange,提问作者Chris Idzerda
相关产品推荐
相关产品推荐

