如何将一个Python版本的conda环境克隆到另一个版本?

38 投票
3 回答
29548 浏览
提问于 2025-04-18 12:42

我有一个使用 Python 2.7 的 conda 环境,现在想创建一个相同的环境,但用 Python 3.4。我知道在创建环境时可以用到 --clone 这个选项,但它不支持添加其他参数,比如 python=3.4。有没有什么方法可以自动做到这一点呢?我考虑过使用 conda list --export 的输出结果,但那里面也包含了 Python 的版本信息。

3 个回答

-3

我试过这个,但在把plot.ly更新到4.0版本时遇到了很多问题。我的代码是写在3.10版本上的,不想去改它。我只好把整个环境(从\envs里每一个文件)从一台机器复制到另一台机器上,这样就能正常工作了。

0

目前,当我尝试

conda create -n <env-name> exported-packages.txt

时,它给了我一个错误,提示说无法解析yml文件中的环境名称。

对我有效的是

conda env create --name <env-name> exported-packages.txt

参考链接:https://github.com/conda/conda/issues/6827

64

一种方法是

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的版本,这两种方法显然都会失败。

撰写回答