aarch64/arm64平台源码编译TensorFlow 2.8遇tensorflow-io循环依赖如何解决?
解决办法
你遇到的是典型的跨架构编译循环依赖问题,按照以下步骤操作即可解决:
- 第一步:先跳过依赖检查安装你自行编译的TensorFlow whl包
如果系统默认Python包管理器为pip3,可将下文命令中的pip统一替换为pip3,执行安装命令:pip install --no-deps tensorflow-2.8.0-cp38-cp38-linux_aarch64.whl
安装完成后执行python -c "import tensorflow as tf;print(tf.__version__)"验证TensorFlow可以正常导入即可。 - 第二步:切换tensorflow-io仓库到匹配TF2.8的版本
TF2.8对应的tensorflow-io版本范围是0.21.0~0.25.0,直接切到r0.25发布分支即可避免版本不匹配报错:
cd io git checkout r0.25
- 第三步:编译安装tensorflow-io
先安装编译所需的基础依赖:apt update && apt install -y python3-dev bazel-5.0 libcurl4-openssl-dev
然后再执行配置和编译命令:
./configure.sh bazel build -s --verbose_failures //tensorflow_io/... //tensorflow_io_gcs_filesystem/...
编译完成后会生成对应的whl包,先安装tensorflow-io-gcs-filesystem的whl,再安装tensorflow-io的whl即可。
- 第四步:补全TensorFlow剩余依赖
执行以下命令自动安装所有遗漏的依赖:pip install tensorflow==2.8.0
你已经本地安装了对应版本的TensorFlow和tensorflow-io组件,pip会自动跳过已安装的包,只补全其他缺失的依赖。
内容的提问来源于stack exchange,提问作者Chin Khuptong
相关产品推荐
相关产品推荐

