Environment creation
- I can create a (simple) new environment.
$ conda create --name my_awesome_env_name
- I can create a new environment with a specific python version.
$ conda create --name my_awesome_env_name python=3.7.4
- I can create a new environment with
- a specific python version.
- a list of package to install.
$ conda create --name my_awesome_env_name python=3.7.4 pip jupyter myawesomepackage=1.x
-
I can create an environment from a YAML file. Which is awesome as it allows us to share environment structure and dependencies across machines.
Such file look like this:
name: my_awesome_env_name channels: # A list of channels to use/look for package from can be given (another awesome feature :=) ) - defaults - conda-forge dependencies: - python=3.7.4 - pip - flask - pip: # All packages which are not available into conda's registry can be listed here. - python-dotenv - black
And they can be used like this.
$ conda env create --file path_to_the_awesome_yaml_file
Environment deletion
For the deletion it is simple.
$ conda env remove --name my_awesome_env_name
Environment update
Sometime, we may need to update the environment.
As example:
- We don't need an old package
- A new version of a dependency is available
- We new a new package
It's as simple as it's creation.
$ conda env update --file path_to_the_awesome_yaml_file --prune
The --prune
argument is just the summon of environment management. Indeed it deletes all packages which we don't need :smile:
Environment list
I can get a list of all available environments.
$ conda env list
Package list
I can get a list of the installed package in an environment with the following.
$ conda list --name my_awesome_env_name
Environment clone
Just discovered with the help message that it's possible to clone an environment.
$ conda create --name my_awesome_clone_name --clone my_awesome_env_name
Environment file generation
It's possible to export the currently activated environment into a YAML file. It's practical as we can generate the file and share it.
$ conda env export > path_to_the_new_awesome_yaml_file_to_share
Environment activation
At any time we can switch from an environment to another. But the most important thing to remember: an environment can be activated like this:
$ conda activate my_awesome_env_name
Current environment name and location
To find the currently active environment, we can do this:
$ conda env list | awk '{ if (NF > 0 && substr($1,1,1) != "#" && $2 == "*") print $1 " " $3 }'
Environment deactivation
And to deactivate the currently active environment, it's even easier.
$ conda deactivate