ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Anaconda channel 配置笔记

2022-04-29 19:04:24  阅读:394  来源: 互联网

标签:-- 笔记 pip conda Anaconda forge config channel


本文总结了Anaconda channel的配置,适用于Windows/MacOS/Linux等操作系统。

conda channel的配置

默认的conda channel是defaults,但这个channel的代码包不全。我的建议使用conda-forge channel,并设置严格优先使用conda-forge,因为这不同channel的包不完全兼容。我之前通过conda-forge channel安装geopandas时候,由于没有设置严格优先使用conda-forge,conda使用了defaults channel安装了libgdal(这是geopandas的依赖包之一),导致geopandas的安装一直不成功。

conda-forge的优势是什么?这个channel有强大的社区支持,提供了大多数安装包,并且更新及时。网址是:

https://conda-forge.org/docs/index.html

如何添加conda-forge channel并设置优先级?

 

1. 创建.condarc文件。这是conda channel的配置文件,在安装conda之后并不会生成这个文件。在terminal中使用conda config指令可以创建该文件

conda config

2. 查看现在的channel状态和优先级

conda config --get channels

3. 添加conda-forge channel并设置为最高优先级

conda config --add channels conda-forge

4. 再次查看channel状态和优先级

conda config --get channels
# it should be the following:
# --add channels 'defaults'   # lowest priority
# --add channels 'conda-forge'   # highest priority

5. 激活某个环境,在环境中设置channel的严格优先。注,如果该环境中已经安装了若干库,则需要先更新所有的库以保证大多数库从conda-forge下载,以保持库的一致性。

# activate my environment
conda activate my_env
# update all packages if needed
conda update --all
# set channel priority as strict
conda config --set channel_priority strict

如果在执行set channel_priority strict之后,conda提示某些库不一致(inconsistencies),则需要撤销strict,重新执行update --all,再设置channel priority strict。

6. 如何查看.condarc文件的位置和内容?

conda info

执行conda info,会看到某一行显示user config files,这是.condarc的文件路径。

【2021-03-23更新】

说说conda install的常见问题:在已有环境中安装新的库,conda要求检查已有环境的兼容性,时间很长,而且很可能最后失败。显示信息是:

Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: \
Found conflicts! Looking for incompatible packages.

查阅网站,发现这是conda系统的本身问题,没有好的解决方法。

https://github.com/conda/conda/issues/9367

https://stackoverflow.com/questions/57518050/conda-install-and-update-do-not-work-also-solving-environment-get-errors

我尝试了很多人赞同的方法,比如用conda的老版本,或者先更新所有的已有代码库,都无法解决问题。

conda update --all

最终找到的不完美解决方法是:改用pip安装新的包。

采用pip方法也有问题。pip和conda不完全兼容,有时候会报错。只能是碰运气,先用pip安装,看看能不能运行。如果不行,再想其他方法。

比如我在某个conda环境里(python 3.7),安装tensorflow 1.13,成功方法是

pip install tensorflow==1.13.0rc1

https://pypi.org/project/tensorflow/1.13.0rc1/

备注:pip install tensorflow==1.13.0不成功。缺少具体的版本信息。

另外,受到这篇文章的启发(知乎回答),在配置新的conda环境时,可以用conda创建环境,尽可能使用pip安装代码包,如果某个代码包在pip上不提供,再用conda install。这样可以尽可能避开conda检查兼容性的问题。

 

标签:--,笔记,pip,conda,Anaconda,forge,config,channel
来源: https://www.cnblogs.com/lishanyang/p/16207723.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有