Разница между созданием новой среды с базой клонирования и без нее в conda - PullRequest
0 голосов
/ 12 июля 2020

В официальной документации conda новая среда создается следующим образом:

conda create --name myenv

Но я счел это ненадежным, поэтому я обычно создаю новую среду с базой клонирования:

conda create --name myenv --clone base

Насколько я понимаю, если вы клонируете любую другую среду, вы делаете точную копию всех пакетов в этой среде. Но в случае создания нового окружения без клонирования вы все равно получите все базовые пакеты по умолчанию. Но если вы создали новую среду без клонирования базы, могут возникнуть проблемы с установкой некоторых новых пакетов, потому что им может потребоваться обновить некоторые зависимости из базы.

Итак, мне интересно, в чем на самом деле разница ?

1 Ответ

1 голос
/ 13 июля 2020

Первый случай,

conda create --name myenv

без указания каких-либо пакетов, создает полностью пустую среду без пакетов. Таким образом, если вы запустите (скажем) Python, ваша оболочка по-прежнему будет запускать Python из базовой среды, и вы увидите все свои пакеты. Если вы установите Python в новую среду (либо при ее создании, либо после):

conda install -n myenv python

И затем запустите Python, вы увидите, что пакетов нет. Вы можете увидеть дальнейшее подтверждение этого, написав

conda list -n myenv

, что должно сообщить вам, что в myenv.

нет пакетов.
...