用yml文件进行conda迁移环境时的报错小结

用yml文件进行conda迁移环境时的报错小结

    • 报错一: AttributeError: 'NoneType' object has no attribute 'keys' conda env
    • 报错二:CondaValueError: prefix already exists: /home/username/anaconda3
    • 报错三、Found conflicts! Looking for incompatible packages. failed
    • 报错四、ResolvePackageNotFound

写在最前,这是一篇失败总结,最终因为Found conflicts! Looking for incompatible packages.花费太久的时间,我放弃了,选择在新服务器上直接安装包。

使用yml文件进行conda环境迁移
首先使用export 选项生成一个 environment.yml 文件,以在不同的平台和操作系统之间 复现项目环境。environment.yml 文件不针对特定操作系统,并且使用YAML格式。environment.yml 仅列出了软件包名称,由 conda 基于软件包的名称构建环境。 export 还包括使用pip安装的软件包。

step1: 导出 environment.yml 文件

 conda env export > environment.yml

注意:如果当前路径已经有了 environment.yml 文件,conda 会重写这个文件
step 2: 重现环境

 conda env create -f environment.yml

报错一: AttributeError: ‘NoneType’ object has no attribute ‘keys’ conda env

检查你的envinroment.yml文件,这个基本上是因为yml为空或者broken。重新生成一下yml试试.

报错二:CondaValueError: prefix already exists: /home/username/anaconda3

这个是因为yml中的env name为空,或者与现在机器上的env冲突。
比如以下yml中的env name为base,而每个conda下面都有base这个环境,这就发生了冲突。在这里插入图片描述
解决办法:
修改yml中的name,或者命令中加入-n参数指明env name

 conda env create -f environment.yml -n envname

报错三、Found conflicts! Looking for incompatible packages. failed

在这里插入图片描述
Found conflicts! Looking for incompatible packages. failed
conda花很久很久的时间Looking for incompatible packages后显示failed,接着又再来一遍Looking for incompatible packages。。。
解决办法:conda update anaconda

报错四、ResolvePackageNotFound

解决办法是删除报错包中的第二个等号以及后面的及其配置信息
参考https://blog.csdn.net/Hunter_Murphy/article/details/124783101
用yml文件进行conda迁移环境时的报错小结_第1张图片
此时又花很久的时间Looking for incompatible packages,失去耐心,最终决定直接装包。
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(conda,python)