Копирование разнородных пакетов из одной среды в другую - PullRequest
0 голосов
/ 10 мая 2019

Я использую Anaconda и настраиваю виртуальные среды, и я хотел бы знать, существует ли массовая операция для копирования пакетов только из одной среды (A) в другую (B), если имя пакета в ( А) нет в (Б). Я вижу документацию по копированию всей среды, но мои настройки сильно зависят от контроля версий, и я не хочу ничего перезаписывать, даже если в среде (B) появляется предыдущая версия пакета.

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

#Install one-by-one in Anaconda Prompt
conda create --name package_name python=3.7 -y #-y defaults "y" to all subsequent prompts
conda install package_name

#Create new environment with packages (in one line)
conda create --name environment_name python=3.7 pandas=0.24.2 scipy


#Make a clone of an existing environment on the same machine
conda create -n flowers --clone snowflakes


#Duplicate an existing environment on a different machine
#Save packages for future use:
conda list --export > package_list.txt

#Reinstall packages from the export file:
conda create -n environment_name --file package_list.txt

#Duplicate an existing environment on a different machine (with different syntax)
#Save packages for future use:
conda env export --no-builds > file.txt

#Reinstall packages from the export file:
conda env create --file /path/to/file.txt

Сценарий 1 - это простой метод, который определенно работает, но очень утомителен

Сценарий 2 также прост, но он копирует только существующую среду. Я хочу иметь две существующие среды, и если я хочу скопировать все новые уникальные пакеты из одной среды в другую, мне не нужно создавать целую новую среду, а затем тщательно удалять все, основываясь на версия пакета.

Сценарий 3 получает тот же результат, что и Сценарий 2, но на другом компьютере.

Если я смогу найти способ перебрать среду A и скопировать только пакеты, которые не встречаются в среде B (это означает, что более старая версия пакета в среде B не будет перезаписана), это решит мою проблему .

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