解决方案:ARM架构下安装Miniconda + 离线配置Conda环境的全流程及踩坑避坑指南

在ARM架构下,由于Anaconda并不提供官方的ARM版本,在很多情况下强行在ARM系统中安装Anaconda会出现很多未知错误。因此更适合安装Miniconda。Miniconda是Anaconda的一个精简版本,它只包含conda包管理器和最基本的库,因此在资源受限的环境下更加适用。

本博客记录在华为多瑙 HPC集群的服务器下离线安装Miniconda和迁移虚拟环境的全过程。

一、安装Miniconda

1.1、确认本机架构

在安装前需要查看本机的系统架构,确认机器为ARM架构,输入指令:uname -m,如果返回结果为aarch64:

aarch64表示系统的 CPU 架构是 ARM 64 位架构(ARMv8-a),表明本机不是传统的 x86 架构所使用的软件,所以建议不安装Anaconda,而是Miniconda。

1.2、下载Miniconda安装包

进入Miniconda下载官网:conda.io/en/latest/m... 可以看到Miniconda为我们提供了多种配置的安装包,包括Windows、macOS的x86,M1芯片,Linux的aarch64、ppc64le、s390x等多种架构 根据机器的架构,点击对应的安装包进行下载,下载后是一个Miniconda3-latest-Linux-aarch64.sh文件,放置到服务器上。

1.3、安装Miniconda

cd到对应目录,bash启动刚刚的sh文件,这里使用终端输入:bash Miniconda3-latest-Linux-aarch64.sh 进入安装程序后,会返回用户协议,一直enter到最后,输入yes同意协议: 然后会弹出一个询问您是否希望更新您的shell配置文件(例如.bashrc或.zshrc),以便在启动时自动激活Conda环境,并在激活时更改命令提示符 如果您选择"yes",则Conda将被初始化为在每次启动时都自动激活基础环境(默认情况下为"base"环境),并且在激活时会显示Conda环境的名称。 如果您选择"no",则不会在启动时自动激活基础环境,您可以在需要时手动使用conda activate 激活环境。

这里可以随意选择,我这里选择yes,然后应该就安装成功了!

【重要】:安装成功后,需要重启终端,重新进入才能正式使用conda,验证conda是否安装成功可以使用conda --version命令,输出版本号即为成功:

二、离线配置Conda环境

2.1、查看本机配置

输出nvida-smi查看本机CUDA版本这里是12.3 所以必须要找一个基本架构类似的新机器安装ARM和CUDA12.3下的环境; 要注意的是,ARM架构下的PyTorch安装比较麻烦。可以参考这篇:国产arm架构安装pytorch一次踩坑记录

安装好后对虚拟环境使用进行conda-pack 进行conda 环境打包,打包流程可以看:解决方案:查看机器配置+如何迁移虚拟环境到离线机器

2.2、迁移虚拟环境

打包好后会得到一个 xx.tar.gz的文件,将该.tar.gz压缩包通过mobaxterm或者其他方式把 xx.tar.gz上传到目标服务器的miniconda里的envs/环境名目录里面,一般路径为用户名/miniconda3/envs/自己新建的环境名

上传成功后,在目标服务器(离线的那个)上解压压缩包:tar -xzf xx.tar.gz,解压成功后,在目标服务器上查看虚拟环境:conda info --envs,显示如下,即表示迁移成功了。

2.3、可能遇见的报错

在跑程序的时候如果出现:cannot execute binary file: Exec format error这种错误,说明你正在尝试运行一个不同体系结构的可执行文件,或者文件本身可能已经损坏。极有可能的问题原因就是:你正在ARM架构下运行x86架构的编译!

这说明你的虚拟环境还是不太对,所有环境一定要是ARM架构下的才行,特别是PyTorch系列产品,要安装对应架构的才能避免这个报错。

相关推荐
SpikeKing27 分钟前
LLM - 理解 多模态大语言模型(MLLM) 的 指令微调(Instruction-Tuning) 与相关技术 (四)
人工智能·语言模型·指令微调·数据调整·自指令·数据混合·instruction
开MINI的工科男1 小时前
【笔记】自动驾驶预测与决策规划_Part3_路径与轨迹规划
人工智能·笔记·自动驾驶·预测与决策
xuanyu224 小时前
Linux常用指令
linux·运维·人工智能
凡人的AI工具箱5 小时前
AI教你学Python 第11天 : 局部变量与全局变量
开发语言·人工智能·后端·python
晓星航5 小时前
Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
人工智能·docker·机器人
Kenneth風车5 小时前
【机器学习(五)】分类和回归任务-AdaBoost算法-Sentosa_DSML社区版
人工智能·算法·低代码·机器学习·数据分析
AI小白龙*5 小时前
大模型团队招人(校招):阿里巴巴智能信息,2025届春招来了!
人工智能·langchain·大模型·llm·transformer
空指针异常Null_Point_Ex6 小时前
大模型LLM之SpringAI:Web+AI(一)
人工智能·chatgpt·nlp
Alluxio6 小时前
选择Alluxio来解决AI模型训练场景数据访问的五大理由
大数据·人工智能·分布式·ai·语言模型
AIPaPerPass写论文6 小时前
写论文去哪个网站?2024最佳五款AI毕业论文学术网站
人工智能·深度学习·chatgpt·powerpoint·ai写作