【问题标题】:"Conda remove <package>" taking forever to remove package“Conda remove <package>” 永久删除包
【发布时间】:2021-08-31 03:24:18
【问题描述】:

我注意到,如果我试图删除占用数百兆空间的巨大 conda 包,运行 conda remove &lt;package&gt; 将需要很长时间。这些大包的一些例子是pystanspacy-model-en_core_web_lg

卡住了,没有错误信息;

收集包元数据(repodata.json):完成

解决环境:

任何提示如何解决这个问题?

我正在使用 anaconda、python 3.8、windows 10。

【问题讨论】:

    标签: python anaconda conda


    【解决方案1】:

    Conda 的移除操作仍然需要满足环境的所有其他规范,因此 Conda 调用它的求解器,这可能很复杂。本质上,它重新解决整个环境sans指定的包,将其与现有状态进行比较,然后根据差异制定计划。

    我非常怀疑 OP 所暗示的包装大小是否有任何直接影响。相反,对解决产生负面影响的事情是:

    • 拥有大型环境(例如,安装了anaconda 包)
    • 通道混合 - 特别是在带有 anaconda 包的环境中,包括具有与 默认值 相同或更高优先级的 conda-forge 通道;该软件包及其所有依赖项均来自 anaconda 频道
    • 具有未指定的环境(请参阅conda env export --from-history 以查看您的明确规范);例如,具有 python=3.8 规范的环境在求解器上将比仅具有 python 规范的环境更容易

    一般来说,使用较小的专用(例如,每个项目)环境,而不是大型单体环境有助于避免此类问题。 anaconda 包尤其成问题。

    试试曼巴

    除了采用更好的做法外,还可以使用Mambaconda 的嵌入式编译替代品)显着加快求解速度。试试看:

    ## install Mamba in base env
    conda install -n base conda-forge::mamba
    
    ## use it like you would the 'conda' command
    mamba remove -n foo bar
    

    【讨论】:

    • mamba 效果很好。它解决了我的问题。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2012-02-07
    • 2013-06-19
    • 2021-03-15
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多