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 ...
随机推荐
- Docker实用篇
Docker实用篇 0.学习目标 1.初识Docker 1.1.什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦. 分布式系统中,依赖的组件非常多,不同组件之间 ...
- 食之无味?App Startup 可能比你想象中要简单
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...
- 记一次 .NET 某数控机床控制程序 卡死分析
一:背景 1. 讲故事 前段时间有位朋友微信上找到我,说它的程序出现了卡死,让我帮忙看下是怎么回事? 说来也奇怪,那段时间求助卡死类的dump特别多,被迫训练了一下对这类问题的洞察力 ,再次声明一下, ...
- 彻底掌握Makefile(二)
彻底掌握Makefile(二) 前言 在前面的文章彻底掌握Makefile(一)当中,我们简要的介绍了一些常见的makefile使用方法,在本篇文章当中我们将继续介绍一些makefile当中的常见用法 ...
- ProxySQL(4):多层配置系统
文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9280793.html ProxySQL中的库 使用ProxySQL的Admin管理接口连上ProxySQL, ...
- 部署一个生产级别的 Kubernetes 应用(以Wordpress为例)
文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247487811&idx=1&sn=67b39b73 ...
- 解决centos系统突然间网络不通的问题:Global IPv6 forwarding is disabled in configuration, but not currently disabled in kernel
问题描述:公司里的一台centos 7.6主机,连接公司的路由器,里面设置的静态ip,之前用的好好的,但是有一次突然间ping不通了,之前是可以ping通的. 问题分析: 查看网络配置文件: TYPE ...
- Docker 部署 Confluence(破解版)
一. 说明 1.1 素材 本文采用素材如下: Docker镜像 Github链接(https://github.com/cptactionhank) 破解工具 Gitee链接(https://gite ...
- (四)JPA - JQPL 实现增删改查
(一)JPA的快速入门 建议在需要使用时,看看之前的文章,先把环境搭起来. 5.JPQL JPQL和SQL 1.JPQL和SQL很像,查询关键字都是一样的 2.唯一的区别是:JPQL是面向对象的 JP ...
- 通过js实现随机生成图片
这次给大家分享一个通过js向HTML添加便签,实现随机代码生成的案例,代码已经放在下方,这里我在下面准备了50张图片,但是没有放在博文中,如果读者想要练习,可以自己下载一些图片,建议下载的多一些. & ...