创建Anaconda Python环境时,我应该使用Conda还是Conda Forge?
我了解conda-forge是为了构建和维护软件包而发起的。创建Anaconda Python环境时,我应该使用Conda还是Conda Forge?
但是,当构建Anaconda Python环境时,如果两个存储库中都存在程序包,我们如何知道何时使用'conda-forge'经文'conda install'?例如,Django可以安装'conda install'和'conda-forge'。
我们应该使用哪一个?有关系吗?
有人能给我一个非常简短的“conda-forge for dummies”课吗?文档非常少。
感谢
简短的回答是,在我的经验一般,没关系,你使用。
长的答案:
所以conda-forge
是可以从其中安装的软件包的附加通道。从这个意义上说,它不是比默认频道或其他数百(数千个)频道中人们发布套餐所特有的更特别的。如果您注册https://anaconda.org并上传您自己的Conda包,您可以添加自己的频道。
在这里,我们需要从问题描述中看出,在跨平台软件包管理器conda
和软件包频道conda-forge
之间,我不清楚您的区别。 Continuum IO,conda
软件的主要开发人员还维护一个单独的软件包通道,当您在不更改任何选项的情况下键入conda install packagename
时,这是默认值。
有两种方法可以更改频道选项。一种是每次安装包时指定一个通道:
conda install -c some-channel packagename
当然,该包必须存在于该通道上。如果您经常使用相同的频道,那么您可能需要将其添加到您的配置中。你可以写
conda config --add channels some-channel
到通道some-channel
添加到channels
配置列表的顶部。这给some-channel
最高优先级(优先级决定(in part)当多个通道具有特定包时选择哪个通道)。要将通道添加到列表的末尾,并给它的优先级最低,键入
conda config --append channels some-channel
如果您想删除已添加的通道,你可以这样做,通过写
conda config --remove channels some-channel
请参阅
conda config -h
了解更多选项。
上面所有的内容说,还有使用conda-forge
通道,而不是defaults
通道由连续保持四个主要原因:
- 上
conda-forge
可以是封装更先进的日期比在defaults
通道 - 上有
conda-forge
通道是不能从defaults
- 包你会更喜欢使用的依赖,如
openblas
(来自conda-forge
)而不是mkl
(来自defaults
)。 - 如果您正在安装需要编译库的软件包(例如,C扩展名或C库附带的包装文件),那么如果您将所有软件包安装在环境中,则它可以减少不兼容的可能性:或由于基本C库的二进制兼容性(但此建议可能会过时/将来发生变化)导致的单通道。
谢谢!我有两个相关的问题: 1.我怎么知道哪个频道是好的尝试; 2.在我配置一个通道后,如何将其重置为默认值? – Daniel
@Kenny要回答你的第一个问题,你应该在https://anaconda.org上搜索你想要的软件包,看看哪个频道有这个软件包。我编辑了答案来回答你的第二个问题。不过,我也注意到,如果你想从一个通道安装一个软件包,使用'conda install -c some-channel packagename'编写命令可能会更容易 – darthbith