【问题标题】:conda create environment not respondingconda 创建环境没有响应
【发布时间】:2021-03-31 13:05:54
【问题描述】:

我想安装 python 2.7 作为 conda 环境。

conda create -n python2 python=2.7 anaconda
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment:

它在过去 12 小时内一直在运行。

【问题讨论】:

  • 12 小时...哇,你有耐心。当您安装 anaconda 时,会引入数十个(数百个?)额外的软件包。这确实可以延长安装过程。您可以尝试在没有 anaconda 的情况下创建环境吗?指定你知道你需要的包。
  • @jakub 成功了...谢谢
  • @jakub 怎么做?

标签: anaconda conda environment


【解决方案1】:

如果实际需要的只是 Python 2.7 环境(不是完整的 Anaconda 发行版),那么see @jakub's answer。但是,Conda 完全有能力使用 Python 2.7 创建 Anaconda 分发环境,而且应该不会花费 12 多个小时来解决。

为什么这么久?频道!

您的频道优先级几乎肯定会加剧这个极其漫长的解决方案。 “Anaconda”发行版应该从 anaconda 频道(defaults 频道的一部分)获取大部分(如果不是全部)软件。然而,大多数用户最终将 conda-forge 添加到他们的全球渠道中,并给予更高或同等的优先级(例如,channel_priority: flexible)。在这种情况下,Conda 将花费大量时间尝试使用 conda-forge 的最新版本来满足 anaconda 元包中指定的包,而这往往会使事情陷入困境。

选项 1:避免混用 Anaconda 和 Conda Forge

如果您想要更快的 Anaconda 安装,请仅从 Anaconda 安装

conda create -n anaconda27 --override-channels -c defaults python=2.7 anaconda

anaconda 元数据包中的所有内容最初都是为了来自 anaconda 频道,所以这不应该如此不合理。

请注意,如果您将 conda-forge 设置为全局优先级,则每次在此环境中安装时都会出现问题(因此请记住覆盖通道)。

选项 2:曼巴舞

另一个选项是Mamba。它是conda CLI 功能的更快(编译)替代方案。在请求更改时,它似乎既能更快地解决问题,也不太容易改变不相关的包 - 但这只是我的轶事经验。

# install it in your *base* env (only need this once)
conda install -n base conda-forge::mamba

# use it like you would `conda`
mamba create -n python2 python=2.7 anaconda

【讨论】:

    【解决方案2】:

    anaconda 包是一个元包,这意味着它告诉 conda 安装其他包。它将安装数百个软件包,事实证明这可能会给conda 带来压力。通常不需要anaconda 元包中的所有包——最好只安装一个需要的包。

    尝试创建一个没有anaconda 的环境,而只指定您需要的包。

    conda create -n python2 python=2.7
    

    【讨论】:

      猜你喜欢
      • 2017-04-02
      • 2016-06-21
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多