Как клонировать среду conda из одной версии python в другую?

У меня есть среда python 2.7 conda и хотелось бы создать эквивалентную среду с python 3.4. Я знаю параметр --clone при создании сред, но он не принимает дополнительные аргументы, например python=3.4. Есть ли способ сделать это автоматически? Я думал о попытке использовать вывод из conda list --export, но также кодирует выпуск python.

Ответ 1

Один из способов -

conda list --export > exported-packages.txt

И затем отредактируйте этот файл, чтобы удалить последнюю часть каждого пакета с частями py27_0 (вы также можете удалить версии, если в какой-то версии пакета нет версии Python 3). Тогда

conda create -n py3clone --file exported-packages.txt

Еще одна идея - клонировать среду:

conda create -n clonedenv --clone oldenv
conda install -n clonedenv python=3.4
conda update -n clonedenv --all

Обратите внимание, что очевидно, что оба из них не сработают, если у вас есть пакет, который не имеет версии Python 3.

Ответ 2

Я попытался это сделать, и у меня возникли проблемы с обновлением plot.ly до версии 4. Мой код был написан на 3.10 и не хотелось его менять. Мне пришлось скопировать всю среду (каждый файл из \envs) с одной машины на другую, это работает.