DmytroSytro
DmytroSytro

Reputation: 639

Difference between creating new environment with and without cloning base in conda

In official conda documentation a new environment is created by:

conda create --name myenv

But I found it unreliable, so I usually create a new environment with cloning base:

conda create --name myenv --clone base

As I understand, if you are cloning any other environment, you are making an exact copy of all the packages in that environment. But in case of creating a new environment without cloning, you still get all the base packages by default. But if you've created a new environment without cloning the base, there might occur problems with installing some new packages because they might need to update some dependencies from the base.

So, I wonder what is really the difference?

Upvotes: 0

Views: 725

Answers (1)

darthbith
darthbith

Reputation: 19645

The first case,

conda create --name myenv

without specifying any packages creates a totally empty environment with no packages. Thus, if you run (say) Python, your shell will still run the Python from the base environment and you'll see all your packaages. If you install Python into your new environment (either when you create it or after):

conda install -n myenv python

And then run Python, you'll see that there are no packages available. You can see further confirmation of that by writing

conda list -n myenv

which should tell you that there are no packages in myenv.

Upvotes: 1

Related Questions