首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将miniconda2 2的环境导出到miniconda3

将miniconda2 2的环境导出到miniconda3
EN

Stack Overflow用户
提问于 2022-05-19 23:36:58
回答 2查看 44关注 0票数 0

我使用了miniconda2,但我不得不升级到miniconda3。但是,如何将miniconda3 2的环境导出到miniconda3?

提前谢谢你,

更新

我找到了here下面的脚本:

代码语言:javascript
复制
for env in $(conda env list | cut -d" " -f1); do 
   if [[ ${env:0:1} == "#" ]] ; then continue; fi;
   conda env export -n $env > ${env}.yml
done

它只选择新的miniconda3环境,而不是位于不同文件夹中的旧miniconda2。

代码语言:javascript
复制
> ls -1 /work/miniconda2/envs/
3d-dna
abyss
afterqc
busco4
...

(base)> conda activate /work//miniconda2/envs/busco4
(busco4)> 

如何修改上述脚本以从miniconda2文件夹导出?

EN

回答 2

Stack Overflow用户

发布于 2022-05-20 03:35:46

我很难找到这么旧的conda YML文件。据我所知,没有万无一失的方法,但这里有一种方法可以满足解决方案的要求。

注意:这是用于linux或mac的;您可以在Windows中使用findstr。或PowerShell.

从你的环境来看:

代码语言:javascript
复制
conda env export --from-history | grep -v "prefix" > your_environment_name.yml

您可以使用cat environment.yml查看内容。这为您提供了库--但不是依赖项--并且没有任何版本编号。我这么做是因为有时依赖库会因为某种原因而被丢弃。您可能需要用您想要的python的新版本来修改它。

我认为这比conda env export | cut -f 1 -d '=' | grep -v ^prefix更好,因为有时依赖关系会被删除。

从那里

代码语言:javascript
复制
conda env create -f your_environment_name.yml -p /home/user/anaconda3/envs/your_environment_name
票数 0
EN

Stack Overflow用户

发布于 2022-05-20 23:03:09

这里的另一种方法是将以前的Miniconda2包缓存(/work/miniconda2/pkgs)和环境目录(/work/miniconda2/envs)添加到pkgs_dirsenvs_dirs Conda配置设置中。这样,您就可以继续使用它们,而无需存档和重新创建。在this answer中有一些细节。

您可能需要在此之后添加Miniconda3位置,如果希望它们继续是默认设置的话。

另外,由于您安装了Conda的多个副本,您可能应该检查您的~/.bashrc (和/或~/.bash_profile)文件,以便从其他版本的conda init中删除以前的任何部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72312115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档