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

conda:导出与创建环境快照

简介:Conda是一个流行的开源包管理工具和环境管理系统,特别适用于Python。它允许用户轻松地创建、导出、共享和管理不同的Python环境,以及安装、更新和删除软件包和依赖项。Conda还具有跨平台性,可以在不同的操作系统上运行,并且具有良好的环境隔离能力,使得在同一台机器上同时管理多个不同版本的Python和相关软件包成为可能。

优势:使用Conda导出和创建Python开发环境的快照,可以轻松地解决在不同的机器上共享、备份和恢复工作环境。

历史攻略:

miniconda的安装和基本使用

win10:安装miniconda和使用

centos7.6:安装python、miniconda

Python-subprocess激活远程conda

操作步骤:

# 导出环境快照
conda env export > environment.yml# 创建环境快照
conda env create -f environment.yml

导出环境快照,运行结果:

(test) ubuntu@VM-8-13-ubuntu:~$ pip list
Package           Version
----------------- -------
aiofiles          23.2.1
html5tagger       1.3.0
httptools         0.6.1
iniconfig         2.0.0
multidict         6.0.5
packaging         24.1
pip               24.0
pluggy            1.5.0
pytest            8.2.2
sanic             23.12.1
sanic-routing     23.12.0
setuptools        69.5.1
tracerite         1.1.1
typing_extensions 4.12.2
ujson             5.10.0
uvloop            0.19.0
websockets        12.0
wheel             0.43.0
(test) ubuntu@VM-8-13-ubuntu:~$ python --version
Python 3.12.3
(test) ubuntu@VM-8-13-ubuntu:~$ conda env export > environment.yml
(test) ubuntu@VM-8-13-ubuntu:~$ cat environment.yml 
name: test
channels:- defaults
dependencies:- _libgcc_mutex=0.1=main- _openmp_mutex=5.1=1_gnu- bzip2=1.0.8=h5eee18b_6- ca-certificates=2024.3.11=h06a4308_0- expat=2.6.2=h6a678d5_0- ld_impl_linux-64=2.38=h1181459_1- libffi=3.4.4=h6a678d5_1- libgcc-ng=11.2.0=h1234567_1- libgomp=11.2.0=h1234567_1- libstdcxx-ng=11.2.0=h1234567_1- libuuid=1.41.5=h5eee18b_0- ncurses=6.4=h6a678d5_0- openssl=3.0.13=h7f8727e_2- pip=24.0=py312h06a4308_0- python=3.12.3=h996f2a0_1- readline=8.2=h5eee18b_0- setuptools=69.5.1=py312h06a4308_0- sqlite=3.45.3=h5eee18b_0- tk=8.6.14=h39e8969_0- tzdata=2024a=h04d1e81_0- wheel=0.43.0=py312h06a4308_0- xz=5.4.6=h5eee18b_1- zlib=1.2.13=h5eee18b_1- pip:- aiofiles==23.2.1- html5tagger==1.3.0- httptools==0.6.1- iniconfig==2.0.0- multidict==6.0.5- packaging==24.1- pluggy==1.5.0- pytest==8.2.2- sanic==23.12.1- sanic-routing==23.12.0- tracerite==1.1.1- typing-extensions==4.12.2- ujson==5.10.0- uvloop==0.19.0- websockets==12.0
prefix: /home/ubuntu/miniconda3/envs/test

免密设置请参考:

Docker容器中的SSH免密登录

创建环境快照,运行结果:

(base) tom@LAPTOP-3FI0HAN5:~$ conda env list
# conda environments:
#
base                  *  /home/tom/miniconda3(base) tom@LAPTOP-3FI0HAN5:~$ vim environment.yml
(base) tom@LAPTOP-3FI0HAN5:~$ conda env create -f environment.yml
(base) tom@LAPTOP-3FI0HAN5:~$ conda activate test
(test) tom@LAPTOP-3FI0HAN5:~$ pip list
Package           Version
----------------- -------
aiofiles          23.2.1
html5tagger       1.3.0
httptools         0.6.1
iniconfig         2.0.0
multidict         6.0.5
packaging         24.1
pip               24.0
pluggy            1.5.0
pytest            8.2.2
sanic             23.12.1
sanic-routing     23.12.0
setuptools        69.5.1
tracerite         1.1.1
typing_extensions 4.12.2
ujson             5.10.0
uvloop            0.19.0
websockets        12.0
wheel             0.43.0
(test) tom@LAPTOP-3FI0HAN5:~$ python --version
Python 3.12.3
(test) tom@LAPTOP-3FI0HAN5:~$

前后对比,可知,pip list 完全一致,python版本也一致。

注意事项:

1、保证环境的完整性:确保在导出环境之前激活了所需的环境。

2、确定文件命名和路径:确保 environment.yml 文件保存在一个容易访问的位置,并且使用适当的文件名。

3、核实版本兼容性:确保使用的是兼容的 Conda 版本。在一些较老的 Conda 版本中,可能不支持 conda env export 命令。

4、核实依赖项的准确性: 在导出环境时,确保所有的依赖项都已经安装并且在环境中正常运行。

5、检查Python 版本兼容性: 确保 environment.yml 文件中指定的 Python 版本在目标环境中是可用的,并且与项目兼容。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Github 2024-07-20 开源项目日报Top10
  • Jupyter Notebook与机器学习:使用Scikit-Learn构建模型
  • 【开源库学习】libodb库学习(一)
  • sourcetree中常用功能使用方法及gitlab冲突解决
  • Git提交到错误分支怎么办?(解决办法)
  • 解决前端开发中的浏览器兼容性问题
  • 区块链技术和系统;ZKRollup ;区块链交易打包和审查
  • IOT 的 10 种常见协议、组网模式、特点及其使用场景浅析
  • 如何判断自己的数据格式适合使用json还是Excel的形式存入neo4j数据库
  • LeYOLO, New Scalable and Efficient CNN Architecture for Object Detection
  • 【STM32】RTT-Studio中HAL库开发教程三:IIC通信--AHT20
  • SQL Server数据库守护者:自定义备份与恢复策略全指南
  • Zabbix介绍和架构
  • Maven 自动化部署
  • 密码学原理精解【9】
  • JavaScript-如何实现克隆(clone)函数
  • 【css3】浏览器内核及其兼容性
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CentOS 7 修改主机名
  • css的样式优先级
  • CSS盒模型深入
  • hadoop集群管理系统搭建规划说明
  • Javascript基础之Array数组API
  • Lsb图片隐写
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • PHP那些事儿
  • php中curl和soap方式请求服务超时问题
  • Solarized Scheme
  • Spring Boot MyBatis配置多种数据库
  • SwizzleMethod 黑魔法
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Web设计流程优化:网页效果图设计新思路
  • ------- 计算机网络基础
  • 前端面试之闭包
  • 日剧·日综资源集合(建议收藏)
  • 山寨一个 Promise
  • 跳前端坑前,先看看这个!!
  • 用jQuery怎么做到前后端分离
  • 原生 js 实现移动端 Touch 滑动反弹
  • 怎样选择前端框架
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 国内开源镜像站点
  • ​你们这样子,耽误我的工作进度怎么办?
  • ‌JavaScript 数据类型转换
  • !!java web学习笔记(一到五)
  • #{} 和 ${}区别
  • #WEB前端(HTML属性)
  • #传输# #传输数据判断#
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (1)虚拟机的安装与使用,linux系统安装
  • (16)Reactor的测试——响应式Spring的道法术器