麒麟os部署tensorflow需按cpu架构选择方案:x86_64用tensorflow-cpu 2.10.0虚拟环境;arm64飞腾平台可用离线包、archiconda或docker;高定制需求可bazel源码编译。

如果您在麒麟操作系统上部署深度学习应用,但TensorFlow无法正常安装或运行,则可能是由于系统版本、CPU架构、Python环境不匹配或依赖冲突导致。以下是针对麒麟OS(含V10桌面版/服务器版、SP1–SP3)的多种TensorFlow安装实操方案:
一、基于x86_64架构(海光/兆芯)的pip虚拟环境安装
该方法适用于搭载海光C86或兆芯KX-6000系列CPU的麒麟V10系统,利用官方验证稳定的TensorFlow-CPU 2.10.0二进制包,避免glibc符号缺失与ABI冲突。
1、执行命令确认基础环境:
cat /etc/os-release | grep -E "(VERSION_ID|NAME)"
lscpu | grep "Architecture"
python3 --version
2、若Python版本非3.10.x,需先升级:
sudo apt update && sudo apt install python3.10 python3.10-venv python3.10-dev
3、创建并进入项目目录:
mkdir -p ~/tf-kylin && cd ~/tf-kylin
4、建立隔离虚拟环境:
python3.10 -m venv venv
source venv/bin/activate
5、升级pip并指定清华源安装依赖:
pip install --upgrade pip
pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ opencv-python-headless==4.8.1.78 numpy==1.23.5 pillow==9.4.0 requests==2.31.0
6、安装适配版TensorFlow:
pip install tensorflow-cpu==2.10.0
二、基于ARM64架构(飞腾D2000/FT2000+)的离线依赖安装
该方法专为飞腾CPU设计,规避pip在线编译失败问题,采用预编译的aarch64兼容包组合,适用于无外网或受限网络环境。
1、确认系统架构为ARM64:
uname -m 输出应为 aarch64
2、安装系统级基础依赖:
sudo apt update
sudo apt install -y python3-pip python3-dev python3-cython python3-h5py python3-grpcio
3、手动配置HDF5路径(关键步骤):
tar -xf hdf5.tar.gz -C /usr/include/
export CPATH="/usr/include/hdf5/include/:/usr/include/hdf5/lib/"
sudo ln -s /usr/include/hdf5/lib/libhdf5.so /usr/lib/libhdf5.so
sudo ln -s /usr/include/hdf5/lib/libhdf5_hl.so /usr/lib/libhdf5_hl.so
4、安装离线准备好的TensorFlow 1.15依赖包:
tar -xf tensor-dependence.tar.gz
pip install --find-links ./tensor-dependence/ --no-index tensorflow==1.15
三、基于Archiconda3的ARM64 Anaconda环境安装
该方法使用专为ARM64优化的Archiconda发行版,提供完整conda生态与预编译numpy/scipy等科学计算库,显著降低依赖解析失败率。
1、下载Archiconda3安装脚本:
wget https://github.com/Archiconda/build-tools/releases/download/0.2.2/Archiconda3-0.2.2-Linux-aarch64.sh
2、赋予执行权限并安装:
chmod +x Archiconda3-0.2.2-Linux-aarch64.sh
./Archiconda3-0.2.2-Linux-aarch64.sh -b -p $HOME/archiconda3
3、初始化conda并创建专用环境:
$HOME/archiconda3/bin/conda init bash
source ~/.bashrc
conda create -n tf2-env python=3.7.1
4、激活环境并安装TensorFlow 2.0.0:
conda activate tf2-env
pip install tensorflow==2.0.0
四、基于Docker容器的跨架构轻量部署
该方法绕过本地系统兼容性限制,直接运行预构建的TensorFlow镜像,适用于快速验证、CI/CD集成或混合架构测试场景。
1、确保已安装Docker及QEMU binfmt支持:
sudo apt install docker.io qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
2、拉取适配麒麟OS的ARM64 TensorFlow镜像:
docker pull arm64v8/tensorflow:2.10.0-py3
3、启动交互式容器并验证设备识别:
docker run -it --rm arm64v8/tensorflow:2.10.0-py3 python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices())"
4、若输出包含 [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU')],表明CPU识别成功。
五、基于Bazel源码编译(飞腾平台高定制需求)
该方法适用于需启用特定算子、禁用AVX指令或适配私有内核模块的生产环境,要求完整构建链与足够内存(建议≥16GB RAM)。
1、安装Bazel 0.5.4(经飞腾aarch64验证):
wget https://github.com/bazelbuild/bazel/releases/download/0.5.4/bazel-0.5.4-dist.zip
mkdir bazel-0.5.4 && unzip bazel-0.5.4-dist.zip -d bazel-0.5.4
cd bazel-0.5.4 && ./compile.sh
2、获取TensorFlow 1.15源码并打补丁:
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow && git checkout r1.15
patch -p1
3、配置编译选项(禁用GPU与SSE):
./configure
→ 是否启用Google Cloud Platform支持?否
→ 是否启用Hadoop文件系统支持?否
→ 是否启用XLA JIT支持?否
4、执行编译并安装whl包:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tf-pkg
pip install /tmp/tf-pkg/tensorflow-1.15.0-cp37-cp37m-linux_aarch64.whl










