ARM架构离线Python环境部署

ARM架构离线Python环境部署指南

一、联网ARM机器环境准备

1. 安装Miniconda3

复制代码
# 切换root管理员
su - root

# 下载ARM架构的Miniconda安装包
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh

# 执行自动安装(默认安装到/root/miniconda3)
bash Miniconda3-latest-Linux-aarch64.sh

## bash Miniconda3-latest-Linux-aarch64.sh -b -p /opt/miniconda3    # -b 静默安装 -p 指定安装路径

# 安装成功执行
source ~/.bashrc

# echo 'export PATH="/opt/miniconda3/bin:$PATH"' >> ~/.bashrc
# source ~/.bashrc

2. 接受服务条款

复制代码
conda tos accept --override-channels --channel "https://repo.anaconda.com/pkgs/r"
conda tos accept --override-channels --channel "https://repo.anaconda.com/pkgs/main"
conda tos accept --override-channels --channel "https://repo.anaconda.com/pkgs/msys2"

3. 创建Python环境

复制代码
# 使用conda-forge频道创建Python 3.12.1环境
conda create -n py312 -c conda-forge python=3.12.1 -y

# 可指定目录
conda create -p /opt/miniconda3/envs/py312 -c conda-forge python=3.12.1 -y


# 激活虚拟环境
conda activate py312

# 安装环境依赖包(python程序所需要的依赖包)
pip install -r requirements.txt


# 退出虚拟环境
conda deactivate py312

环境打包操作

1. 确认环境路径

复制代码
conda info --envs
# 输出示例:/root/miniconda3/envs/py312

2. 生成依赖清单

复制代码
pip freeze > requirements.txt    #导出pip安装的依赖包

3. 下载离线依赖包

复制代码
# 创建离线包目录
mkdir offline_packages

# 下载ARM架构的二进制包(注意平台标识)
pip download -r requirements.txt -d offline_packages \
--platform manylinux2014_aarch64 \  # ARM架构平台标识
--python-version 3.12 \             # Python版本
--only-binary=:all:                 # 仅下载二进制包

4. 打包环境目录

复制代码
tar -czvf py312_env.tar.gz -C /root/miniconda3/envs/ py312

5. 准备离线文件包

需复制以下文件到离线机器:

  • Miniconda3-latest-Linux-aarch64.sh
  • py312_env.tar.gz
  • offline_packages 目录
  • requirements.txt

二、离线ARM机器环境部署

1. 安装Miniconda3

复制代码
# 切换root
su - root

# 执行安装脚本
bash Miniconda3-latest-Linux-aarch64.sh

# 激活环境变量
source ~/.bashrc

2. 恢复Python环境

复制代码
# 解压环境包到conda目录
tar -xzf py312_env.tar.gz -C /root/miniconda3/envs

# 激活环境
conda activate py312

3. 离线安装依赖

复制代码
pip install --no-index --find-links=./offline_packages -r requirements.txt

4. 验证环境

复制代码
python -c "import sys; print(sys.platform, sys.version)"
# 应输出:linux 3.12.1 (...)

注意事项

  1. 架构一致性
  • 所有操作需在ARM架构(aarch64)机器上执行
  • 确保联网机和离线机架构相同
  1. 平台标识说明:
  • manylinux2014_aarch64:ARM架构标准平台标签
  • 勿使用x86_64标识(会导致兼容性问题)
  1. 权限管理:
  • 建议使用root权限操作,避免权限问题
  • 环境默认安装在/root/miniconda3
  1. 版本匹配:
  • Python版本需与下载时指定的版本严格一致
  • 确保requirements.txt包含完整依赖