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包含完整依赖

ARM架构离线Python环境部署的更多相关文章

  1. 1-编程基础及Python环境部署

    目录 1 编程基础 1.1 基本概念 1.2 语言分类 1.3 高级语言的发展 2 程序 3 python的语言介绍 4 Python的解释器 5 Python版本区别 6 Python安装 6.1 ...

  2. Arm架构下VUE环境的安装

    最近因为项目需要在arm环境下搭建vue环境,网上有基于Linux的 教程,路径略有不同,现整理如下 1.安装文件下载 1.下载地址:http://nodejs.cn/download/ 2.选择一个 ...

  3. 在doker上的python安装及环境部署

    python环境部署 我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境: 在这里首先强 ...

  4. ARM架构下的Docker环境,OpenJDK官方没有8版本镜像,如何完美解决?

    为什么需要ARM架构下的OpenJDK8的Docker镜像? 对现有的Java应用,之前一直运行在x86处理器环境下,编译和运行都是JDK8,如今在树莓派的Docker环境运行(或者其他ARM架构电脑 ...

  5. 白手起家Django项目发布中篇_Centos下Python2和3并存环境部署

    python环境部署 我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境: 在这里首先强 ...

  6. 离线环境下自动化部署python环境(含openssl)

    遇到有项目要在内网环境下安装python项目,所以空余时写了自动化部署python环境和python项目的脚本,由于项目涉密,这里仅提供自动化部署python环境的shell脚本,包括openssl的 ...

  7. 微服务架构 - 离线部署k8s平台并部署测试实例

    一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...

  8. CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程

    Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...

  9. Python简介及环境部署

    Python的由来:         Python的创始人:Guido van Rossum Guido 在1989年12月时,寻找一门“课余”编程项目来打发圣诞节前后的时间.Guido决定为当时正构 ...

  10. 西秦的ACE-Python教程 一、Python本地开发环境部署

    西秦的ACE-Python教程 一.Python本地开发环境部署       西秦 级别: 论坛版主 发帖 1357 云币 2782 加关注 写私信   只看楼主 更多操作楼主  发表于: 10-10 ...

随机推荐

  1. java Stream之Optional API

    摘要:介绍Stream的容器类中 Optional 方法. 综述   仰慕 Stream 流久矣,终于有机会彻底的了解其特性以及用法了,关于源码的理解还需要持续增加深度.在学习 Stream 的时候, ...

  2. SpringBoot的启动流程扩展点

    阅读说明:1.如果有排版格式问题,请移步https://www.yuque.com/mrhuang-ire4d/oufb8x/yo5ywqt5eudxvxfc?singleDoc#%20%E3%80% ...

  3. 线程池中execute和submit的区别?

    简要回答 execute只能提交Runnable类型的任务,无返回值.submit既可以提交Runnable类型的任务,也可以提交Callable类型的任务,会有一个类型为Future的返回值,但当任 ...

  4. Hi,我是ChunJun,一个有趣好用的开源项目

    Hi,我是ChunJun,一个有趣好用的开源项目. 今天我们正式开通了自己的公众号!欢迎大家关注~ 数字经济时代,各行各业数字化转型大趋势下,数据要素成为关键.海量多源异构数据汇聚,使得数据同步面临同 ...

  5. ABC295(D~G)

    Tasks - AtCoder Beginner Contest 295 这篇是超级抽象的简要tj,看不懂不要骂我这个蒟蒻QWQ D - Three Days Ago (atcoder.jp) \(f ...

  6. 十、buildroot系统 桌面配置

    4.4.桌面控制 4.4.1.weston 文件夹路径 /common/overlays/10-weston 1.核心设置 配置 Weston 的核心设置 文件 /etc/xdg/weston/wes ...

  7. Blazor学习之旅(6)路由系统

    大家好,我是Edison. Blazor 的路由系统就和 ASP.NET MVC的路由系统一样,可以为我们提供灵活的选项,可用于确保用户请求到达可处理它们并返回用户想要的信息的组件. 本篇,我们来了解 ...

  8. Luogu P8479 「GLR-R3」谷雨

    题传 upd on 2023.10.03 补充了代码以及一些实现细节. 自己写的关于这类剖分方法的 \(blog\) 题意简述 称一条链和与其有连边的点 构成的点集 为 "毛毛虫" ...

  9. vivo Pulsar 万亿级消息处理实践(3)-KoP指标异常修复

    作者:vivo 互联网大数据团队- Chen Jianbo 本文是<vivo Pulsar万亿级消息处理实践>系列文章第3篇. Pulsar是Apache基金会的开源分布式流处理平台和消息 ...

  10. mac快速安装git

    前提 每次安装git,都需要安装xcode,我不需要xcode 而且这厮还极其的大,下载慢. 找到一个办法[如果你不需要 Xcode,只安装 Xcode Command Line Tools 就可以了 ...