银河麒麟ARM64系统Python生态构建:从零到深度学习推理实战
最近在几台搭载飞腾处理器的国产设备上折腾开发环境,感触颇深。对于习惯了x86生态的开发者来说,初次接触银河麒麟这类基于ARM64架构的国产操作系统,确实会遇到不少“水土不服”的情况。特别是Python环境,看似简单的pip install背后,隐藏着架构差异、依赖冲突、源配置等一系列需要特别注意的细节。这篇文章就是基于我在长城TN140A2(飞腾D2000平台)上从零搭建完整Python机器学习环境的实战经验,重点分享那些官方文档里不会写的“坑”和高效解决方案。无论你是刚接手国产化项目的开发者,还是需要在ARM服务器上部署AI应用的技术人员,这些经验都能帮你少走弯路。
1. 系统准备与基础环境调优
在银河麒麟V10 SP1上开始Python之旅前,有几个系统层面的准备工作至关重要。这些步骤看似基础,却能从根本上避免后续安装过程中的各种诡异错误。
1.1 系统更新与源配置
新安装的银河麒麟系统,默认的软件源可能不是最新或最全的。首先应该更新系统并配置合适的软件源。
# 更新系统包列表
sudo apt update
# 升级所有可升级的包
sudo apt upgrade -y
# 安装基础开发工具
sudo apt install build-essential cmake git wget curl -y
银河麒麟基于Ubuntu LTS分支,但有自己的软件仓库。如果你需要某些Ubuntu上的软件包,可以谨慎地添加Ubuntu的ARM64源。不过要注意版本兼容性,我建议优先使用麒麟官方源和国内镜像源。
注意:混合使用不同发行版的软件源可能导致依赖冲突甚至系统不稳定。添加第三方源前,最好先备份原有的源列表文件。
一个更安全的做法是只使用银河麒麟官方源和国内镜像加速。编辑源列表文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo nano /etc/apt/sources.list
确保文件中包含官方源地址。如果需要加速下载,可以将源地址替换为国内镜像站,但必须确认该镜像站支持银河麒麟ARM64架构。
1.2 Python版本管理与虚拟环境
银河麒麟V10 SP1默认可能已经安装了Python 3.8或3.9。但在实际开发中,我们经常需要管理多个Python版本或创建隔离的环境。
# 查看系统已安装的Python版本
python3 --version
ls /usr/bin/python*
# 安装Python虚拟环境工具
sudo apt install python3-venv python3-pip -y
# 创建项目专用的虚拟环境
python3 -m venv ~/projects/onnx_env
# 激活虚拟环境
source ~/projects/onnx_env/bin/activate
使用虚拟环境有几个明显的好处:
- 依赖隔离:不同项目可以使用不同版本的库而互不干扰
- 环境可重现:通过
requirements.txt可以精确复现环境 - 避免权限问题:不需要使用
sudo pip install
我习惯为每个项目创建独立的虚拟环境,并在项目目录下保存requirements.txt文件。这样即使换了机器或重装系统,也能快速恢复开发环境。
2. ARM64架构下的Python包安装策略
ARM64架构与常见的x86_64架构在二进制兼容性上有本质区别。很多Python包都提供了预编译的x86_64轮子(wheel),但ARM64的预编译包相对较少。这意味着在ARM平台上,更多包需要从源码编译安装。
2.1 pip配置优化
首先优化pip的配置,这能显著提升安装速度和成功率。
# 升级pip到最新版本
python -m pip install --upgrade pip
# 创建pip配置文件
mkdir -p ~/.pip
nano ~/.pip/pip.conf
在pip.conf中添加以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
timeout = 120
retries = 10
[install]
no-binary = :all:
这里有几个关键点:
- 使用国内镜像源:清华源对ARM架构的支持相对较好
- 增加超时和重试:编译安装耗时较长,需要更长的超时设置
- no-binary参数:强制从源码编译,避免安装不兼容的预编译包
2.2 编译依赖与系统库
从源码编译Python包需要相应的编译工具和系统库。以下是在银河麒麟ARM64上必须安装的基础编译环境:
# 安装Python开发头文件
sudo apt install python3-dev -y
# 安装科学计算相关的基础库
sudo apt install libblas-dev liblapack-dev libatlas-base-dev -y
# 安
394



被折叠的 条评论
为什么被折叠?



