У меня есть среда python 2.7 conda и хотелось бы создать эквивалентную среду с python 3.4. Я знаю параметр --clone
при создании сред, но он не принимает дополнительные аргументы, например python=3.4
. Есть ли способ сделать это автоматически? Я думал о попытке использовать вывод из conda list --export
, но также кодирует выпуск python.
Как клонировать среду conda из одной версии 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) с одной машины на другую, это работает.