Конда уже делает это .Они используют жесткие ссылки, поэтому вы можете переоценить пространство, которое действительно используется, если вы посмотрите только на размер определенного env.
Чтобы проиллюстрировать ситуацию, давайте используем du
для проверки реального использования диска.Во-первых, если я подсчитываю каждый каталог среды по отдельности, я получаю нескорректированное использование env
$ for d in envs/*; do du -sh $d; done
2.4G envs/pymc36
1.7G envs/pymc3_27
1.4G envs/r-keras
1.7G envs/stan
1.2G envs/velocyto
, как это может выглядеть в графическом интерфейсе.
Вместо этого, если я позволю du
подсчитав их вместе (т.е. исправив жесткие ссылки), мы получим
$ du -sh envs/*
2.4G envs/pymc36
326M envs/pymc3_27
820M envs/r-keras
927M envs/stan
548M envs/velocyto
Видно, что здесь уже экономится значительное количество места.
Большинство жестких ссылок возвращаются в каталог pkgs
, поэтому, если мы включим и это:
$ du -sh pkgs envs/*
8.2G pkgs
400M envs/pymc36
116M envs/pymc3_27
92M envs/r-keras
62M envs/stan
162M envs/velocyto
, можно увидеть, что вне общих пакетов envs довольносвет.Если вас беспокоит размер моего pkgs
, обратите внимание, что я никогда не запускал conda clean
в этой системе, поэтому мой каталог pkgs
полон архивов и замененных пакетов, плюс инфраструктура, которую я храню в база (например, Jupyter, Git и т. д.).