Создайте среду Conda поверх существующей установки

Я установил miniconda3 в систему с помощью сценария установки bash, а затем выполнил conda install некоторых пакетов в этой установке.

Эта установка доступна другим пользователям только для чтения. Они могут создать сценарий установки, который добавит установку conda в их LD_LIBRARY_PATH, PATH и PYTHONPATH.

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

В идеале пользователь должен запустить некоторую форму среды conda create, в результате чего пользователь сможет устанавливать пакеты в своей локальной среде, но берет ранее установленные пакеты из моего региона.

Есть ли хороший способ сделать это?

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


person Taylor Childers    schedule 11.05.2018    source источник


Ответы (3)


Похоже, вы хотите клонировать базовую среду Conda. Вам просто нужно использовать аргумент --clone с командой create. См. ссылку на документацию ниже:

https://conda.io/docs/user-guide/tasks/manage-environments.html#cloning-an-environment

person BigGerman    schedule 11.05.2018
comment
Большое спасибо. Это именно то, что мне нужно, и я могу передать ПУТЬ к установке в аргумент --clone. - person Taylor Childers; 11.05.2018
comment
Этот процесс выдает предупреждение при применении к среде base: (anaconda 5.2) The following packages cannot be cloned out of the root environment... . - person matanster; 27.09.2018
comment
путь сломан - person Green; 23.01.2019

Этот метод действительно спас меня много. Вы можете экспортировать существующую среду и создать новую на основе всех установленных пакетов в существующей:

$ conda env export > FILE_NAME.yml

а затем вы можете перенести этот файл на другую машину или просто создать его на своей текущей машине:

$ conda env create -f FILE_NAME.yml
person Shayan Amani    schedule 12.07.2019

conda create (или conda env create) перезапишет и сбросит каталог среды. Вам лучше активировать существующую среду и установить дополнительные пакеты:

# Create Conda environment, only if it does not already exists
$ [[ $(conda env list | grep my_env) ]] || conda create -y -n my_env

$ source activate my_env

(my_env)$ conda install -y --update-deps new_package

(my_env)$ conda list
# previous packages + new_package
person Noam Manos    schedule 18.05.2020