conda或conda-forge应该用于Python环境吗?

Conda和conda-forge都是 Python包管理器.当两个存储库中都存在包时,适当的选择是什么?例如,Django可以安装任何一个,但两者之间的差异是几个依赖(conda-forge有更多).这些差异没有解释,甚至没有简单的自述文件.

应该使用哪一个? Conda还是conda-forge?有关系吗?

最佳答案
简短的回答是,根据我的经验,一般来说,使用哪个并不重要.

答案很长:

因此,conda-forge是可以安装软件包的附加渠道.从这个意义上说,它不比默认频道或人们发布包的其他数百(数千?)频道中的任何频道更特殊.如果您在https://anaconda.org注册并上传自己的Conda套餐,则可以添加自己的频道.

在这里,我们需要区分,我认为你在问题中的措辞,conda,跨平台包管理器和conda-forge,包通道之间并不清楚. Anaconda Inc.(以前称为Continuum IO)是conda软件的主要开发人员,它还维护一个单独的软件包通道,这是默认情况下输入conda install packagename而不更改任何选项.

有两种方法可以更改频道选项.一种是每次安装包时指定一个通道:

conda install -c some-channel packagename

当然,包必须存在于该通道上.如果您经常使用相同的频道,则可能需要将其添加到配置中.你可以写

conda config --add channels some-channel

将通道某个通道添加到通道配置列表的顶部.这为某个通道提供了最高优先级(优先级确定(in part)当多个通道具有特定包时选择哪个通道).要将通道添加到列表末尾并为其指定最低优先级,请键入

conda config --append channels some-channel

如果您想删除添加的频道,可以通过写信来删除

conda config --remove channels some-channel

看到

conda config -h

了解更多选择.

综上所述,使用conda-forge通道有四个主要原因,而不是Anaconda维护的默认通道:

> conda-forge上的软件包可能比默认渠道上的软件包更新
> conda-forge通道上有一些包,默认情况下不可用
>您更喜欢使用openblas(来自conda-forge)而不是mkl(来自默认值)之类的依赖项.
>如果您要安装需要编译库的软件包(例如,C扩展或C库周围的包装),如果您在单个通道的环境中安装所有软件包,则可能会降低不兼容的可能性基本C库的二进制兼容性(但此建议可能过时/将来更改).

点击查看更多相关文章

转载注明原文:conda或conda-forge应该用于Python环境吗? - 乐贴网