首页 > 其他分享 >Conda 环境移植 (两种方式)

Conda 环境移植 (两种方式)

时间:2022-11-17 21:15:17浏览次数:67  
标签:两种 name 环境 conda env Conda 移植 pack

------------------------方法一------------------------

优点: 在原机器上需要进行的操作较少,且除了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 测试是否能够激活环境,如果可以则说明移植成功!

到此结束,大功告成

标签:两种,name,环境,conda,env,Conda,移植,pack
From: https://www.cnblogs.com/jack-nie-23/p/16900926.html

相关文章

  • [笔记]前端路由的两种模式
    参考资料:https://juejin.cn/post/7127143415879303204#heading-11https://blog.csdn.net/qq_28641023/article/details/120328826理解单页面应用单页面应用是指我......
  • 40:元组_特点_创建的两种方式_tuple()要点
    ###元组tuple列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。因此,我们只......
  • linux系统移植
    1linux环境搭建1.1添加交叉开发工具链新建如下工程目录:gcc-4.6.4.tar.xz#拷贝tar-Jxvfgcc-4.6.4.tar.xz#解压cd./gcc-4.6.4/bin#到.bin目录,pwd获取当......
  • linux驱动移植
    1.1开发前准备1.1.1Linux驱动(面向对象)1).Linux驱动框架思想:写驱动的时候,只提供操作硬件设备的函数接口文件存放磁盘:open,read,write,closeARMexynos4412......
  • Android 中通过Intent传递类对象,通过实现Serializable和Parcelable接口两种方式传递对
    方式一:通过实现Serializable接口传递对象用一个小的Demo去理解,通过实现Serializable接口传递对象。效果图:具体讲解在代码注释中已经写出先创建一个对象:packagecom.exampl......
  • Anaconda安装教程与pycharm应用
    下载地址分享一下安装Anaconda的过程。这里博主没有去官网下载,而是去清华镜像网站下载的在这里插入代码片安装步骤这里一路绿灯即可第一项AddAnaconda是将安装路径自动......
  • aspnetcore两种上传图片(文件)的方式
    aspnetcore上传图片也就是上传文件有两种方式,一种是通过form-data,一种是binary。先介绍第一种form-data:该方式需要显示指定一个IFormFile类型,该组件会动态通过打开一个w......
  • python之路29 网络编程基础2之 两种架构 传输层常见协议 socket模块
    软件开发架构1.C/S架构(Client:客户端和Server:服务端)服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用......
  • 深度学习环境配置(Ubuntu+Anaconda)
    写在前面:学习深度学习时经常要复现别人的代码,不同的代码通常需要不同的环境(例如python2\python3,tensorflow1\tensorflow2),使用anaconda创建虚拟环境就可以很好的配置和管理......
  • 浅析 js 实现网页截图的两种方式
    参考:https://juejin.cn/post/6844903465756393486<p>Web端的截图(生成图片)并不算是个高频的需求,资料自然也不算多,查来查去,也不过Canvas和SVG两种实现方案,原......