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 版本在目标环境中是可用的,并且与项目兼容。

相关推荐

  1. conda导出创建环境快照

    2024-07-22 04:46:03       33 阅读
  2. pip/conda导出导入环境

    2024-07-22 04:46:03       76 阅读
  3. 创建conda环境

    2024-07-22 04:46:03       67 阅读
  4. conda创建环境

    2024-07-22 04:46:03       42 阅读
  5. conda创建并激活环境

    2024-07-22 04:46:03       35 阅读
  6. docker导出conda环境的流程

    2024-07-22 04:46:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 04:46:03       141 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 04:46:03       156 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 04:46:03       129 阅读
  4. Python语言-面向对象

    2024-07-22 04:46:03       141 阅读

热门阅读

  1. linux搭建redis cluster集群

    2024-07-22 04:46:03       27 阅读
  2. centos/rocky容器中安装xfce、xrdp记录

    2024-07-22 04:46:03       26 阅读
  3. 【Python】 深入理解 Python 的 repr 方法

    2024-07-22 04:46:03       31 阅读
  4. 【2024德国签证】留学面签问题汇总

    2024-07-22 04:46:03       50 阅读
  5. 为了zoom

    2024-07-22 04:46:03       35 阅读
  6. vue中hash和history的区别 ?

    2024-07-22 04:46:03       30 阅读
  7. 使用 KerasNLP 从头开始生成 GPT 文本

    2024-07-22 04:46:03       32 阅读
  8. 2024-7-20 IT领域最新资讯概览

    2024-07-22 04:46:03       25 阅读
  9. 墨烯的C语言技术栈-C语言基础-017

    2024-07-22 04:46:03       29 阅读
  10. 对Spring、SpringMVC、MyBatis框架的介绍与解释

    2024-07-22 04:46:03       22 阅读
  11. Linux下编译boost1.85

    2024-07-22 04:46:03       20 阅读