当前位置: 首页 > news >正文

【conda】实现conda环境迁移的4种方式

文章目录

      • 方案1: 使用conda pack制作压缩包并在目标环境解压使用
      • 方案2: 使用package列表文件重新创建conda环境
      • 方案3: scp将环境文件夹拷贝到目标主机上
      • 方案4: 通过--clone先克隆一个环境再conda pack打包迁移

方案1: 使用conda pack制作压缩包并在目标环境解压使用

  • 适合离线环境, 在目标环境无法联网或者网络不畅时很好用

  • (1) 先安装conda pack

    pip install conda-pack
    # 或者
    conda install conda-pack
    
  • (2) 查看要打包的conda环境

    conda info -e
    
  • (3) 压缩conda环境

    conda pack -n your_conda_env	# 会自动压缩为your_conda_name.tar.gz
    

    conda pack -n your_conda_env -o out_name.tar.gz	# 自定义压缩包名
    

    conda pack -p /your/path/to/your_conda_env	# 打包指定目录下的环境
    

    在这里插入图片描述

  • (4) 将压缩包拷贝到目标环境
    目标环境需要和源环境是相同平台和操作系统

  • (5) 在目标环境anaconda/env下创建文件夹并解压

    cd ~/anaconda/env
    mkdir your_conda_name
    cd your_conda_name
    sudo tar -zxvf your_conda_env.tar.gz
    
  • (6) 查看并使用conda环境

    conda info -e
    conda activate your_conda_env
    

方案2: 使用package列表文件重新创建conda环境

  • 需要联网, 适合不同平台和操作系统之间重新创建环境, 安装起来很费时

  • (1) 首先先导出conda list

    conda list -e > spec_list.txt		# -e是export, spec_list.txt也可以起其他名字
    
  • (2) 在目标环境根据spec_list.txt创建虚拟环境

    conda create --name virtual_env_name --file spec_list.txt
    

    这一步相当于把spec_list.txt中的软件包都重新安装一遍, 很慢

方案3: scp将环境文件夹拷贝到目标主机上

  • 可以局域网访问的两台主机之间, 一次可能拷贝10G+文件, 不是很推荐这种直接拷贝的方式

    scp -r ~/anaconda/env/your_conda_env user@ip:~/anaconda/env
    

    拷贝完成后conda info -e可看到your_conda_env, 激活后可使用

方案4: 通过–clone先克隆一个环境再conda pack打包迁移

  • 这种方式和方案1的区别就是先执行–clone先克隆了一份环境, 其他一样, 不推荐

    conda create --name new_env_name --clone old_env_name
    # 或者
    conda create -n new_env_name --clone old_env_name
    # 或
    conda create -n new_env_name --clone /path/to/your/env
    

 


【参考文章】
[1]. conda pack和pip download
[2]. scp方法直接拷贝
[3]. conda常用命令

created by shuaixio, 2024.03.06

相关文章:

  • 数字孪生10个技术栈:数据采集的八种方式
  • CL/opencl.h: No such file or directory(CentOS8 QT5.12.12)
  • Spring容器的启动流程
  • 如何在Word里一次性给全部汉字加拼音?
  • 艺术与科技的结合,AI绘画图生图怎么样?
  • 【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 4
  • JavaWeb环境配置 IDE2022版
  • nginx作为tcp的负载均衡
  • 从mysql 数据库表导入数据到elasticSearch的几种方式
  • [动态规划][蓝桥杯 2022 省 B] 李白打酒加强版 -- 代码注释含详解
  • gdb 调试,给 scanf 传入不可见字符
  • https 加密解密过程是什么?
  • 上位机图像处理和嵌入式模块部署(上、下位机通信的三个注意点)
  • 计算机等级考试:信息安全技术 知识点一
  • SpringCloud微服务-SpringAMQP(RabbitMQ)
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Asm.js的简单介绍
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript函数式编程(一)
  • Linux CTF 逆向入门
  • Linux后台研发超实用命令总结
  • mysql外键的使用
  • PHP 小技巧
  • React组件设计模式(一)
  • 记录一下第一次使用npm
  • 聊聊flink的TableFactory
  • 区块链将重新定义世界
  • 深度学习在携程攻略社区的应用
  • 通过git安装npm私有模块
  • 网页视频流m3u8/ts视频下载
  • 携程小程序初体验
  • #在 README.md 中生成项目目录结构
  • (11)MATLAB PCA+SVM 人脸识别
  • (js)循环条件满足时终止循环
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (五)网络优化与超参数选择--九五小庞
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)关于pipe()的详细解析
  • *p++,*(p++),*++p,(*p)++区别?
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [1181]linux两台服务器之间传输文件和文件夹
  • [20150707]外部表与rowid.txt
  • [20160807][系统设计的三次迭代]
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改
  • [C++]Leetcode17电话号码的字母组合
  • [Design Pattern] 工厂方法模式
  • [DL]深度学习_Feature Pyramid Network
  • [Java安全入门]三.CC1链
  • [JS]Math.random()随机数的二三事