前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >掌握Conda环境迁移的几种方式,从此不在重复配环境

掌握Conda环境迁移的几种方式,从此不在重复配环境

作者头像
超级小可爱
发布2023-02-22 15:32:12
16.9K0
发布2023-02-22 15:32:12
举报
文章被收录于专栏:小孟开发笔记

Conda是广为熟知的包管理器和虚拟环境管理器。最近我在Github上找到一个项目花费了3天时间在服务器A上,配好了环境并跑通了模型,但由于服务器A短时间我用不了,于是自己就在另一台服务器上配环境,无奈配了一天也还是没配好,索性就上网了解到了 Conda 环境迁移的几种方式,结果就是 工作效率火箭式的上升,开心到飞起鸭。

一、环境迁移—情况1

我们在本地电脑已经配好了虚拟环境A,但是自己需要 备份环境A 或者 有人想省事直接使用我们配好的环境A,这种情况下,我们可以采用以下两种方式:

使用下面的conda命令 直接创建环境的快照或者备份:

conda create –name snapshot –clone myenv

1

直接把 环境A 复制下(然后改个文件名就好)就OK了。

二、环境迁移—情况2

我们在本地电脑已经配好了虚拟环境A,如果我们需要在具有 相同平台和操作系统 的计算机之间复制环境,第一种方式就是利用以下命令直接生成 spec list文件,具体操作如下。

生成spec list 文件

conda list –explicit > spec-list.txt

1

根据生成的 spec-list.txt 实现 环境的复制

conda create –name python-course –file spec-list.txt

1

第二种方式就是利用 conda-pack 命令直接对环境进行 打包。要想使用 conda-pack 包对环境打包实现环境迁移,我们需要提前安装一下 conda-pack包,conda-pack包是一个命令行工具,主要用于打包conda环境(包括环境中安装的软件包的所有二进制文件),此方法最好的地方就是 在没有网络的情况下仍可实现环境的复现,简直不要太优秀,下面说一下使用 conda-pack 的具体操作。

安装conda-pack包

conda install -c conda-forge conda-pack

1

或者

pip install conda-pack

1

使用 conda pack 命令开始打包环境

将名字为 my_env 的虚拟环境 打包为 my_env.tar.gz(默认就是这形式)

conda pack -n my_env

-o 就是给导出的虚拟环境重新命名,所以导出来的虚拟环境名字为 out_name.tar.gz

conda pack -n my_env -o out_name.tar.gz

指定虚拟环境包的输出路径

conda pack -p /explicit/path/to/my_env

三、环境迁移—情况3

我们在本地电脑已经配好了虚拟环境A,然后我们需要在 不同平台和操作系统 之间 复现环境,我们可以使用以下命令生成 .yml文件。

导出 environment_name.yml 文件

conda env export > environment.yml

1

利用生成的environment_name.yml 文件复现环境

conda env create -f environment.yml

1

总结:

Conda-Pack 打包环境方式在目标计算机无法联网或者网络不畅时很好用,而Conda导出 environment.yml 的方式非常适合在不同平台和操作系统之间重新创建环境。

未经允许不得转载:肥猫博客 » 掌握Conda环境迁移的几种方式,从此不在重复配环境

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 将名字为 my_env 的虚拟环境 打包为 my_env.tar.gz(默认就是这形式)
  • -o 就是给导出的虚拟环境重新命名,所以导出来的虚拟环境名字为 out_name.tar.gz
  • 指定虚拟环境包的输出路径
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档