#ubuntu #conda
#ubuntu #конда
Вопрос:
conda config --show-sources
показывает, что существует только один файл конфигурации, который /home/gqqnbig/.condarc
. Этот файл устанавливается envs_dirs
в 2 расположения.
$ conda config --show-sources --debug
DEBUG conda.gateways.logging:set_verbosity(231): verbosity set to 2
==> /home/gqqnbig/.condarc <==
envs_dirs:
- ~/shared/.conda/envs
- /opt/anaconda3/envs
pkgs_dirs:
- /opt/anaconda3/pkgs
- ~/shared/.conda/pkgs
==> cmd_line <==
debug: True
Тем не менее, conda config --show
указано, что вычисленное значение для envs_dirs
имеет 3 местоположения.
$ conda config --show envs_dirs --debug
DEBUG conda.gateways.logging:set_verbosity(231): verbosity set to 2
DEBUG conda.base.context:root_writable(498): [Errno 13] Permission denied: '/opt/anaconda3/conda-meta/history'
envs_dirs:
- /home/gqqnbig/shared/.conda/envs
- /opt/anaconda3/envs
- /home/gqqnbig/.conda/envs
Как заполняется третье местоположение? Как мне запретить использование conda /home/gqqnbig/.conda/envs
?
Ответ №1:
Каталоги среды Conda по умолчанию
Оба каталога $CONDA_ROOT_PREFIX/envs
и ~/.conda/envs
каталоги включены в код Conda и всегда будут добавлены к списку в .condarc
(что показывает ваша первая команда), чтобы сгенерировать окончательный расчет context.envs_dirs
(что показывает ваша вторая команда). Conda будет прибегать к его использованию только в том случае, если все более высокие прецедентные местоположения недоступны для записи.
Я не знаю истории этой части кода, но я подозреваю, что эта папка по умолчанию в основном используется как запасной вариант для пользователей в общих системах, где экземпляр Conda (и, следовательно $CONDA_ROOT_PREFIX/envs
, ) находится в недоступном для записи месте. То есть, загрузка в эти два каталога пытается обеспечить наличие хотя бы одной папки среды, доступной для записи, как в сценариях установки для одного пользователя, так и для общего пользователя.
Принудительное только для чтения
Я не совсем уверен, но не похоже, что Conda использует эту папку для каких-либо других целей. Итак, если кто-то действительно хотел убедиться, что Conda никогда не использует его, вы могли бы просто сделать каталог доступным только для чтения:
chmod -w ~/.conda/envs
Чтобы быть в безопасности, вы можете попробовать установить его, а затем протестировать создание среды с подробным описанием, чтобы проверить наличие проблем.