Conda 环境移植 (两种方式)
------------------------方法一------------------------
优点: 在原机器上需要进行的操作较少,且除了conda不需要其余的库来支撑;需要传输的文件小,操作较为简单。
缺点:在新的机器上复现原环境时,需要重新下载对应的依赖包,且可能会安装不上有些依赖包。耗费时间长,且完整重现环境的概率小。
具有待移植的环境的服务器:
1 进入你要移植的环境
conda activate your_env
2 导出当前conda环境到某个文件(文件名字可以自定义)
conda env export > env_filename.yaml
在执行这条语句时可能会报权限不足:zsh: permission denied: env_filename.yaml
以下是解决办法
(1)首先进入到服务器的anaconda的conda目录下(或者bin目录下) ../anaconda/bin/conda
(2)执行 chmod -R +x .../anaconda/bin
(3)再执行 conda init zsh
即可;再重新执行conda env export > env_filename.yaml 就不会报错了;注意生成的.yaml文件在你当前所在的文件夹下。
3 导出当前conda环境通过pip安装的包:
pip freeze > requirements.txt
注意生成的.txt文件在你当前所在的文件夹下。
需要安装移植环境的服务器:
1 复现conda环境
conda env create -f env_filename.yaml
此时建立了一个名字叫为env_filename的环境
2 复现conda环境中pip安装的包
进入新建立的env_filename环境,执行以下命令
pip install -r requirements.txt
到此结束,大功告成
------------------------方法二------------------------
优点:不需要在新的机器上二次下载,直接在对应位置解压打包好的环境包就可以直接使用;成功率高,推荐;
缺点: 如之前未安装过conda-pack,则需要先安装此包,需要额外操作;一般环境包较大,约几个G大小,传输到新机器上耗费的时间和网络资源大。
具有待移植的环境的服务器:
1 安装 conda-pack 包(若之前未安装过)
pip install conda-pack
tips: 如何报以下错误,
ERROR: Could not find a version that satisfies the requirement conda-pack (from versions: none)
ERROR: No matching distribution found for conda-pack
多半是网络问题,换个镜像源就ok
pip install conda-pack -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
2 打包原环境 (无论你当前位于哪个虚拟环境中)
conda pack -n env_name
env_name 是 你需要移植的环境名
该命令会在你当前所在的目录产生一个环境包的压缩文件 env_name.tar.gz
3 传输 env_name.tar.gz
使用SCP或者其他的命令或方式将 env_name.tar.gz 传输到 你需要移植到的新机器的 anaconda 的 envs 目录下: e.g. /home/pc/anaconda3/envs/
需要安装移植环境的服务器:
1 解压 env_name.tar.gz
首先在 /home/pc/anaconda3/envs/ 下新建mkdir一个文件夹 ,文件夹的名字就是压缩包的名称即可(当然也可以自定义一个新的名称)
然后使用以下命令解压环境压缩包到新建的文件夹中:
tar -xzf env_name.tar.gz -C ~/anaconda3/envs/env_name/
2 测试环境
直接 conda activate env_name 测试是否能够激活环境,如果可以则说明移植成功!
到此结束,大功告成
Conda 环境移植 (两种方式)的更多相关文章
- 将Java应用部署到SAP云平台neo环境的两种方式
方法1 - 使用Eclipse Eclipse里新建一个服务器: 服务器类型选择SAP Cloud Platform: 点Finish,成功创建了一个Server: Eclipse里选择要部署的项目, ...
- 两种方式测试 GNS3 环境
GNS3已经部署好了,怎么测试环境呢?两种方式,一是使用自带的VPC连接交换机互联互通,二是配合VMware连接GNS3中的交换机互联互通. 自带 VPC 测试 使用两台VPC与一台二层交换机相连,测 ...
- .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格
一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...
- 对Java代码加密的两种方式,防止反编译
使用Virbox Protector对Java项目加密有两种方式,一种是对War包加密,一种是对Jar包加密.Virbox Protector支持这两种文件格式加密,可以加密用于解析class文件的j ...
- 自学Linux Shell9.2-基于Red Hat系统工具包存在两种方式之一:RPM包
点击返回 自学Linux命令行与Shell脚本之路 9.2-基于Red Hat系统工具包存在两种方式之一:RPM包 本节主要介绍基于Red Had的系统(测试系统centos) 1. 工具包存在两种方 ...
- WCF服务使用(IIS+Http)和(Winform宿主+Tcp)两种方式进行发布
1.写在前面 刚接触WCF不久,有很多地方知其然不知其所以然.当我在[创建服务->发布服务->使用服务]这一过程出现过许多问题.如客户端找不到服务引用:客户端只在本机环境中才能访问服务,移 ...
- 远程访问Jupyter Notebook的两种方式:命令行和配置文件
远程访问Jupyter Notebook的两种方式:命令行和配置文件 相关配置:Ubuntu 16.04服务器,本地Win10,使用了Xshell,Xftp工具. 相关配置主要分为三步: 服务器上的J ...
- 在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入
在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式 ...
- WebService的两种方式Soap和Rest比较
我的读后感:由于第一次接触WebService,对于很多概念不太理解,尤其是看到各个OpenAPI的不同提供方式时,更加疑惑.如google map api采用了AJAX方式,通过javascript ...
- WebService的两种方式SOAP和REST比较 (转)
我的读后感:由于第一次接触WebService,对于很多概念不太理解,尤其是看到各个OpenAPI的不同提供方式时,更加疑惑.如google map api采用了AJAX方式,通过javascript ...
随机推荐
- Dubbo-Adaptive实现原理
前言 前面我们已经分析Dubbo SPI相关的源码,看过的小伙伴相信已经知晓整个加载过程,我们也留下两个问题,今天我们先来处理下其中关于注解Adaptive的原理. 什么是@Adaptive 对应于A ...
- KingbaseES 缺少库文件问题
在工作中大家经常会遇到找不到某个so 的问题,这类可能是so文件缺失,或者是由于LD_LIBRARY_PATH 环境变量设置不当的原因. 1.库文件 我们通常把一些公用函数制作成函数库,供其它程序使用 ...
- 阿里云CentOS7安装K8S
1. 在阿里云山申请三台云服务器 1.1 环境准备 完成配置后的信息 服务器IP 操作系统 CPU 内存 硬盘 主机名 节点角色 172.18.119.145 centos7 2 4G 50G k8s ...
- HBase原理深入
HBase 读写数据流程 Hbase 读数据流程 首先从 zk 找到 meta 表的 region 位置,然后读取 meta 表中的数据,meta 表中存储了用户表的 region 信息 根据要查询的 ...
- Centos下使用containerd管理容器:5分钟从docker转型到containerd
目录 一.系统环境 二.前言 三.containerd 四.部署containerd 4.1 安装containerd 4.2 containerd配置文件 4.3 配置containerd阿里云镜像 ...
- ubuntu下vscode安装go插件失败解决办法
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io,direct go env -w GOSUMDB=gosum.io+ce6e ...
- 思维导图学《On Java》基础卷 + 进阶卷
说明 目录 思维导图 导读 第 1 章 什么是对象 第 3 章 一切都是对象 第 6 章 初始化和清理 第 7 章 实现隐藏 第 8 章 复用 第 9 章 多态 第 10 章 接口 第 11 章 内部 ...
- Coprime
Coprime 前置芝士 莫比乌斯反演 正文 首先,我们来分析题意. 题目中给出 \(n\) 个人,每个人有一个编号 \(k\) ,要求我们从中选出 \(3\) 个人,三人编号分别为 \(k_a\) ...
- portainer 1.24.2 升级到 portainer-ce 最新版
官方升级步骤文档: https://docs.portainer.io/v/ce-2.9/start/upgrade/docker 若是现在的版本是 portainer-ce 2.0.0 ,看Opti ...
- 第二章:视图层 - 1:URL路由基础
路由的编写方式是Django2.0和1.11最大的区别所在.Django官方迫于压力和同行的影响,不得不将原来的正则匹配表达式,改为更加简单的path表达式,但依然通过re_path()方法保持对1. ...