Возможно ли создать среду conda в файловой системе, которая не допускает символические ссылки (жесткие ссылки или программные ссылки)? - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу создать и использовать среду conda в файловой системе (файлы Azure), которая не допускает символические ссылки.Возможно ли это?

Среда - это экземпляр контейнера Azure с подключенным файловым ресурсом.Я пытаюсь создать среду на файловом ресурсе.

Я пытался conda create /path/to/share -f my_env.yaml Это не с ошибками типа Error: create soft link operation unavaliable.

То, что я сделал, что sort woks создает env в контейнерахдомашнее пространство (обычная файловая система, допускающая символические ссылки), а затем копирование в общий файловый ресурс с параметром копирования для следующих символических ссылок, например: `

conda create ~/temp_env_location -f my_env.yaml  
cp -rL ~/temp_env_location /path/to/share

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

Какие-либо предложения для лучшего подхода?

1 Ответ

0 голосов
/ 27 сентября 2019

Нет программных ссылок

Во-первых, я немного удивлен тем, что он вообще пытается использовать мягкие ссылки, поскольку по умолчанию используется опция конфигурации allow_softlinks: false.Возможно, попробуйте установить это явно:

conda config --set allow_softlinks false

и посмотреть, будет ли conda create работать по умолчанию.Если нет, то ...

Только копирование

Команда conda create имеет флаг для того, что вы делаете:

Package Linking and Install-time Options:
  --copy                Install all packages using copies instead of hard- or
                        soft-linking.

Так что вы можете сделать

conda create --copy /path/to/share -f my_env.yaml

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

Копировать всегда

Если вам всегда нужно будет использовать эту опцию, то вы можете навсегда установить опцию always_copy вконфигурация:

conda config --set always_copy true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...