使用conda pack进行环境迁移

news2024/11/26 5:48:57

起因

起因是训练服务器为了安全期间,限制不能联网。而且想连接A100显卡的训练服务器必须通过堡垒机方可连接(即目标服务器既不能联网,也与本机不在同一个网段)

安装工具

首先,使用 conda env list 查看所有环境,要确保待迁移的环境不是默认的base环境(如果是base环境,要使用conda clone 命令复制成其它名字)

然后激活待迁移的环境,我这里的环境名为chatGLM,所以相应的激活命令为conda activate chatGLM

然后使用pip命令安装 pip install conda-pack

图片.png

打包原环境

使用 conda pack -n <环境名> 来打包环境(打包速度还是挺快的),打包后会生成一个 tar.gz 文件

图片.png

这里只花了3分钟就把我装了一天的环境打包好了

图片.png

将虚拟机环境上传到本机

注意:两个环境必须是相同的系统。例如我本机是centos,目标主机也是centos(如果你本机是window,安装的包可能不适用于centos,会导致迁移后无法正常使用)

虽然我本机是widnows,但是我使用Virtual box,搭建了一个centos的虚拟机,在虚拟机中安装anaconda,然后使用pip安装各自依赖

方案一:sz直接上传

Tabby终端支持的文件上传/下载命令

  • sz :ZModem协议来从Linux服务器传送文件到本地
  • rz :从本地上传文件到Linux服务器,可以使用rz命令

使用 sz <待拉取的文件路径> 将文件拉取到本地

图片.png

方案二:split切片后,sz上传

注意:文件比较大,sz命令在全部传输完成后,可能报错,可以用 split 命令进行切分

split -b 512M -d -a 1 chatGLM.tar.gz
  • -b 4096M 分割的每个压缩包大小为4G
  • -d 参数指定生成的分割包后缀为数字的形式
  • -a x来设定序列的长度(默认值是2),这里设定序列的长度为1

图片.png

切到 512M 后,可以上传,但偶尔还是会报错很不方便。虽然支持通配符,但是每次还是会询问你要保存的文件夹(无法设置一次,后面就默认使用该文件夹,不方便)

图片.png

方案三:Virtualbox安装辅助插件,共享文件夹

Virtual不能直接安装增强助手,参考了好几篇博客也不行,后面按照这篇的成功了。地址为:https://zhuanlan.zhihu.com/p/633877183

除了中文会有乱码,英文正常(使用 Tabby 或 XShell连接,不会存在乱码问题)

图片.png

然后使用mv命令,将文件拷贝到共享目录。拷贝后,切换到window端来看,可以发现,瞬间就出现了(比之前sz命令快太多)

图片.png

将本机环境压缩包上传至目标服务器

然后Tabby切换到目标服务器,使用 rz 命令将该文件上传到服务器

删除目标服务器同名环境

现在来到目标主机,使用 conda env list 查看当前所有的环境

然后使用 conda env remove -p <环境路径> 来删除同名环境

图片.png

还原环境

然后使用 conda env list 列出所有虚拟环境的路径

图片.png

我这里,anaconda3的环境变量路径为:/opt/anaconda3/envs/

在该路径下新建一个“虚拟环境名”的文件夹 mkdir /opt/anaconda3/envs/<虚拟环境名>

然后将赋予所有权限 chmod 777 /opt/anaconda3/envs/<虚拟环境名>

然后将刚刚上传的压缩包解压到该目录下,使用如下命令

tar -xzvf <环境变量压缩包>.tar.gz -C /opt/anaconda3/envs/<虚拟环境名>

查看结果

修改好后,使用 conda env list 可以查看到刚刚添加进去的环境

图片.png

然后使用 conda activate <虚拟环境名> 就可以激活该环境变量了

图片.png

使用 conda list 命令,可以查看我们之前安装的库到底是否都存在

图片.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780705.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Data与Java8中的LocalDate相互转换

一、前言 Date这个类在java.util包中&#xff0c;始于jdk1.0。后来在jdk1.8时&#xff0c;针对日期类进行了一个大的更新&#xff0c;专门新建了java.time包&#xff0c;新的日期类LocalDateTime就在这个包中。 日常工作中&#xff0c;很容易碰到旧日期类Date&#xff0c;与新…

回归预测 | MATLAB实现TCN-GRU时间卷积门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现TCN-LSTM时间卷积长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现TCN-LSTM时间卷积长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现TCN-GRU时间卷积门控循环单元多…

C语言数据在内存中的存储

目录 前言 本期内容介绍 一、数据类型的介绍 1.1类型的意义&#xff1a; 1.2C语言中是否有字符串类型&#xff1f; 1.3类型的基本归类 整型家族&#xff1a; 浮点型&#xff08;实型&#xff09;家族&#xff1a; 构造&#xff08;自定义&#xff09;类型&#xff1a;…

通过 CSS 的样式实现语音发送动效类似声音震动的效果

实现效果&#xff1a;一般用于发送语音的时候&#xff0c;出现动画效果 //模版部分 <view class"musical-scale"><view class"scale"><view class"em" v-for"(item,index) in 15" :key"index"></view…

记录这这段时间发生的事情。

当做后端的时候总是被骂做前很丑。成为一个UI设计师与后端工程师才会更加完美。 尝试着做一个主页面。 创建了一个主页面 的表格index。 收录了希望发送到主页的&#xff0c;的帖子。 并且&#xff0c;可以填写是否可以。 一个看起来不错的主页。 标题设计的左右框。 这种框…

自动化运维——Ansible学习(四)——roles角色

目录 一、roles概述 二、角色的使用 1.角色(roles)&#xff1a;角色集合 2.roles建议存放位置 3.调用角色的方法 (1)调用角色方法1 (2)调用角色方法2 4.完整的角色架构 5.roles playbook tags使用 三、Ansible Roles目录编排 四、roles目录 (一)roles目录结构 …

剑指offer简单题01-10

01 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param numbers int整型一维数组 * return int整型*/public int duplicate (int[] numbers) {// write code hereint…

【计算机视觉|人脸识别】 facenet-pytorch 项目中文说明文档

下文搬运自GitHub&#xff0c;很多超链接都是相对路径所以点不了&#xff0c;属正常现象。点击查看原文档。转载请注明出处。 原作者暂时并未对我的提交做出回应&#xff0c;这里同步提交到CSDN&#xff0c;点击查看项目源码 使用 Pytorch 进行人脸识别 Click here to return …

git 和adb

一、git 1、git的作用 git是一个版本控制系统&#xff0c;是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 我的理解就是代码管理器&#xff1a; 第一点你可将代码备份到git仓上&#xff1b; 第二点可记录的你修改记录&#xff1b; 第三点…

Vue中TodoLists案例_删除

与上一篇Vue中TodoList案例_勾选有三个文件变化了 App.vue&#xff1a;添加了一个deleteTodo根据id删除方法&#xff0c;传递给儿子组件MyList <template><div id"root"><div class"todo-container"><div class"todo-wrap"…

Android ObjectBox数据库的使用与详解

一、介绍 Room数据库 之前我已介绍了jetpack组件的数据库&#xff1a;Room&#xff0c;有小伙伴需要了解Room数据库可以查看这个地址&#xff1a;Android JetPack组件之Room数据库的集成与详解_android room数据库_蜗牛、Z的博客-CSDN博客 数据库的性能对设备来说很重要&#…

【雕爷学编程】Arduino动手做(168)---ATTINY85迷你USB开发板

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【Spring MVC学习】连接 接收请求参数 响应返回参数

目录 前言&#xff1a;认识Spring MVC &#x1f337;1、什么是MVC&#xff1f; 一、建立连接&#xff08;5个注解&#xff09; &#x1f337;1、RequestMapping注解:注册接⼝的路由映射&#xff08;默认返回页面&#xff09; &#x1f337;2、ResponseBody注解&#xff1a…

从简单线性回归到TensorFlow深度学习

大家好&#xff0c;人工智能近年来变得越来越流行&#xff0c;学习人工智能的需求也随之增加&#xff0c;尤其是许多IT专业人士希望利用机器学习的强大功能&#xff0c;但面临不小的挑战&#xff0c;尤其是在理论和数学上。 步骤1&#xff1a;线性回归 线性回归是一种统计学中…

Centos7:http/PhP升级

系列文章目录 RHCE第0章&#xff1a;RHCE开始前的准备 RHCE第1章&#xff1a;Web服务器&#xff08;上&#xff09; RHCE第1章&#xff1a;Web服务器&#xff08;下&#xff09; RHCE第2章&#xff1a;DNS服务 RHCE第3章&#xff1a;DHCP服务器 RHCE第4章&#xff1a;Firewall…

第一天基础名词

文章目录 一、域名1、域名的概念2、域名注册3、域名的分类 二、DNS1、DNS的概念2、DNS解析3、本地hosts文件与DNS的关系4、如何查看本地Hosts文件 三、CDN1、CDN的概念2、CDN原理&#xff08;1&#xff09;回顾域名解析&#xff08;2&#xff09;CDN原理 3、常见DNS攻击 四、脚…

【C语言】结构体与offsetof实现

远看山有色&#xff0c;近听水无声。春去花还在&#xff0c;人来鸟不惊。 — 唐代王维《画》 这篇博客我们会详细介绍结构体相关知识&#xff0c;干货满满。 结构体的声明&#x1f340; 一般来说结构体应该有成员列表和变量列表这两个基础的模式。 例如描述一个学生&#xf…

Windows下YUICompress实现js、css混淆压缩

首先&#xff0c;我们针对Linux下的部分命令进行Windows系统的对应实现 ls————cmd /c dir/b rm————cmd /c del mv————cmd /c move pwd————cmd /c chdir 注&#xff1a;cmd /c是执行完命令后关闭命令行窗口、cmd /k是执行完命令后不关闭命令行窗口、cmd /c sta…

Vue第五篇:电商网站登录时vuex的使用

页面&#xff1a; 代码资源见&#xff1a;https://download.csdn.net/download/benben044/88071987 其中css使用开源库的UI&#xff0c;Main里面的元素是一张截图。 通过vuecli脚手架生成的代码架构如下&#xff1a; 一、入口组件App.vue解析 主页面主要由两部分组成&#x…

Leetcode-每日一题【114.二叉树展开为链表】

题目 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例…