【发布时间】:2014-07-09 21:26:39
【问题描述】:
我有一个 python 2.7 conda 环境,想用 python 3.4 创建一个等效的环境。我在创建环境时知道--clone 选项,但它不会接受其他参数,例如python=3.4。有没有办法自动做到这一点?我想过尝试使用来自conda list --export 的输出,但这也对python 版本进行了编码。
【问题讨论】:
我有一个 python 2.7 conda 环境,想用 python 3.4 创建一个等效的环境。我在创建环境时知道--clone 选项,但它不会接受其他参数,例如python=3.4。有没有办法自动做到这一点?我想过尝试使用来自conda list --export 的输出,但这也对python 版本进行了编码。
【问题讨论】:
一种方法是
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 版本的包,显然这两种方法都会失败。
【讨论】:
我尝试了这个并且在将 plot.ly 更新到 v. 4 时遇到了很多问题。我的代码是在 3.10 上编写的,不想更改它。我不得不将整个环境(\envs 中的每个文件)从一台机器复制到下一台机器,它可以工作。
【讨论】: