当前位置: 首页 > 面试题库 >

是否应将conda或conda-forge用于Python环境?

松国兴
2023-03-14
问题内容

Conda并且conda- forge都是Python软件包管理器。当两个存储库中都存在一个程序包时,合适的选择是什么?例如,Django可以安装其中之一,但是两者之间的区别是几个依赖项(conda-
forge还有更多)。没有关于这些差异的解释,甚至没有简单的自述文件。

应该使用哪一个?康达或康达伪造?有关系吗?


问题答案:

简短的答案是,根据我的经验,通常使用哪个都无关紧要。

长答案:

所以conda- forge是可以从其中安装的软件包的附加通道。从这个意义上讲,它没有比默认渠道更特别,也没有任何其他人将软件包发布到的渠道(数千个)。如果您在https://anaconda.org上注册并上传自己的Conda软件包,则可以添加自己的频道。

在这里,我们需要进行区分,我认为您在问题的措辞中不清楚conda,在跨平台的程序包管理器和conda- forge程序包通道之间。该conda软件的主要开发人员Anaconda Inc.(以前称为Continuum
IO)也维护一个单独的软件包频道,这是您键入conda install packagename而不更改任何选项的默认软件包。

可以通过三种方式更改频道选项。每次您安装软件包时,前两个步骤都会完成,最后一个是持久性的。第一个是在每次安装软件包时指定一个通道:

conda install -c some-channel packagename

当然,该程序包必须存在于该通道上。这样将从进行安装packagename及其所有依赖项some-channel。或者,您可以指定:

conda install some-channel::packagename

该软件包仍必须存在some-channel,但现在只能packagename从中提取some- channel。可以从您的默认频道列表中搜索满足依赖关系所需的任何其他软件包。

要查看您的频道配置,您可以编写:

conda config --show channels

您可以使用来控制搜索频道的顺序conda config。你可以写:

conda config --add channels some-channel

将通道添加some-channelchannels配置列表的顶部。这具有some- channel最高的优先级。当一个以上通道具有特定程序包时,优先级(部分)确定选择哪个通道。要将频道添加到列表的末尾并赋予其最低的优先级,请键入

conda config --append channels some-channel

如果您想删除添加的频道,可以通过以下方式删除

conda config --remove channels some-channel

看到

conda config -h

有关更多选项。

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

  1. 上的软件包conda-forge 可能defaults频道上的软件包最新
  2. conda-forge频道上的某些软件包无法从defaults
  3. 您可能更喜欢使用openblas(from conda-forge)之类的依赖项,而不是mkl(from defaults)。
  4. 如果要安装需要编译库的软件包(例如,C扩展名或C库的包装器),则由于二进制原因,如果从单个通道在环境中安装所有软件包,则 可能会 减少不兼容的机会基本C库的兼容性(但此建议可能会过时/将来会更改)。


 类似资料:
  • 问题内容: 当我运行将应用程序部署到Heroku时,我不断收到错误消息 Heroku Push被拒绝,无法编译Python应用程序。找不到满足要求的版本 问题是我制作的文件 转储了我的系统范围内的Python库,而不仅仅是我的库。这很奇怪,因为我从活动的virtualenv中冻结了这些要求-这种行为不应该发生。 Windows上的Windows总是让我放慢速度,所以我准备尝试一个新的环境管理器。

  • 问题内容: 我正在尝试为使用python做一些科学的事情设置良好的环境。为此,我安装了Jupyter和miniconda。 然后,我希望能够拥有不同的环境,并将其与Jupyter笔记本电脑一起使用。所以我用conda创建了两个自定义环境:py27和py35。 然后在笔记本上我有两个内核和。在笔记本中,我得到了python3内核的以下信息: 而这与python2内核: 如何为python2设置min

  • Conda 是开源的包管理系统和环境管理系统,可以安装软件包的多个版本和依赖,而且方便切换。Conda 支持 Linux,OS X 和 Windows 系统。Conda 可以为 Python 程序创建,但是可以打包和分布任意软件。 Conda 包含所有版本的 Anaconda, Anaconda Server 和 Miniconda,而且不会单独提供。

  • 问题内容: 使用 源activate env_name 激活Conda env 。 如何激活pycharm中的环境? 问题答案: 最好的PyCharm特定答案是wasabi的答案(下)。 打开 pycharm / preferences / project / Project Interpreter 并检查现有的解释器。Conda环境可能已经在此处列出。 如果不存在,则可以使用“创建Conda E

  • 问题内容: 我可以使用以下程序创建新的conda环境: 如果我不想安装任何程序怎么办?看来我做不到: 问题答案: 您可以使用仅“ python”的软件包名称来获得基本的空安装。

  • 我正试图为用python做一些科学工作设置一个良好的环境。为此,我安装了Jupyter 然后我希望能够拥有不同的环境,并将它们与Jupyter笔记本一起使用。所以我用conda创建了两个自定义环境:py27和py35。 然后在我的笔记本上我有两个内核和。在一个笔记本里,我得到了下面的python3内核: 这与python2内核有关: 我如何设置为python2的minicda env? 如何将co