Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Goal: Introduce how conda environments can be reproduced and shared.

Based on Managing Environments.


Clone an Environment

[salexan5@mblog2 ~]$ conda create --help
...
options:
...
  --clone ENV           Create a new environment as a copy of an existing local environment.
...

Example

[salexan5@mblog2 software]$ conda create -p py_env2 --clone py_env
Retrieving notices: ...working... done
Source:      /home/salexan5/.conda/envs/py_env
Destination: /cluster/medbow/project/arcc/salexan5/software/py_env2
Packages: 39
Files: 1
...
#
# To activate this environment, use
#     $ conda activate /cluster/medbow/project/arcc/salexan5/software/py_env2
 Full Details:
[salexan5@mblog2 software]$ pwd
/project/arcc/salexan5/software
[salexan5@mblog2 software]$ ls
slim_env_4.2.2

[salexan5@mblog2 software]$ conda create -p py_env2 --clone py_env
Retrieving notices: ...working... done
Source:      /home/salexan5/.conda/envs/py_env
Destination: /cluster/medbow/project/arcc/salexan5/software/py_env2
Packages: 39
Files: 1

Downloading and Extracting Packages:


Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate /cluster/medbow/project/arcc/salexan5/software/py_env2
#
# To deactivate an active environment, use
#
#     $ conda deactivate


[salexan5@mblog2 software]$ ls
py_env2  slim_env_4.2.2

Using Cloned Environment

Notice how you need to activate/use this cloned environment:

[salexan5@mblog2 ~]$ cat ~/.conda/environments.txt
/home/salexan5/.conda/envs/py_env
/project/arcc/salexan5/conda/envs/r_env
/cluster/medbow/project/arcc/salexan5/software/slim_env_4.2.2
/cluster/medbow/project/arcc/salexan5/software/py_env2


[salexan5@mblog2 ~]$ conda info --env
# conda environments:
#
base                     /apps/u/opt/linux/miniconda3/24.3.0
                         /cluster/medbow/project/arcc/salexan5/software/py_env2
                         /cluster/medbow/project/arcc/salexan5/software/slim_env_4.2.2
py_env                   /home/salexan5/.conda/envs/py_env
r_env                    /project/arcc/salexan5/conda/envs/r_env

Need to define the full path to activate.

[salexan5@mblog2 ~]$ conda activate /cluster/medbow/project/arcc/salexan5/software/py_env2
(/cluster/medbow/project/arcc/salexan5/software/py_env2) [salexan5@mblog2 ~]$ 

Export an Environment

[salexan5@mblog2 ~]$ conda activate r_env
(r_env) [salexan5@mblog2 ~]$ conda env export > r_env.yml
(r_env) [salexan5@mblog2 ~]$ conda deactivate

[salexan5@mblog2 ~]$ cat r_env.yml
name: r_env
channels:
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
...
  - zstd=1.5.5=hc292b87_2
prefix: /project/arcc/salexan5/conda/envs/r_env

Conda env command

[salexan5@mblog2 ~]$ conda env --help
usage: conda env [-h] command ...

positional arguments:
  command
    config    Configure a conda environment.
    create    Create an environment based on an environment definition file.
    export    Export a given environment
    list      List the Conda environments.
    remove    Remove an environment.
    update    Update the current environment based on environment file.

options:
  -h, --help  Show this help message and exit.

Import an Environment

[salexan5@mblog2 software]$ conda env create -p r_env2 --file r_env.yml
...
#
# To activate this environment, use
#
#     $ conda activate /cluster/medbow/project/arcc/salexan5/software/r_env2
...

 

  • No labels