【问题标题】:Error installing eomaps through conda and pip通过 conda 和 pip 安装 eomaps 时出错
【发布时间】:2022-01-16 07:29:14
【问题描述】:

我在尝试使用 Conda 安装 eomaps 时收到以下错误输出。我不知道如何解决这个问题。我也尝试过使用pip,但似乎并没有解决问题。这是 Conda 报告的错误:

(base) C:\Windows\system32>conda install -c conda-forge eomaps
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.

这是 pip 报告的错误:

ERROR: Failed building wheel for cartopy
ERROR: Command errored out with exit status 1:
------
ERROR: Failed building wheel for fiona
ERROR: Could not build wheels for cartopy which use PEP 517 and cannot be installed directly

如何安装?

【问题讨论】:

    标签: python pip conda


    【解决方案1】:

    EOmaps 在这里开发...

    我认为问题在于您正在(基本)环境中安装软件包!您很可能安装了一些与 EOmaps 的要求冲突的软件包(cartopypyproj 等的先前版本?),这就是 conda-solver 无法成功的原因。

    我强烈建议在新环境中工作,而不是在基础环境中工作!
    (结帐conda user-guide - managing environments

    例如,以下应该可以正常工作:

    conda create -n eomaps_env python=3.9
    conda activate eomaps_env
    
    conda install -c conda-forge eomaps
    

    (名称eomaps_env 和python-version 都是可选的,您可以将其更改为您喜欢的任何名称和版本!)


    为了加快解决复杂依赖关系的速度,您还可以尝试使用mamba(conda 包管理器的 c++ 重新实现),它的作用与 conda 完全相同(但解决依赖关系的速度要快得多):

    conda create -n eomaps_env python=3.9
    conda activate eomaps_env
    conda install -c conda-forge mamba
    
    mamba install -c conda-forge eomaps
    

    【讨论】:

    • 更好的是,预先声明所有内容并从 conda-forge 获取源代码:mamba create -n eomaps_env -c conda-forge python=3.9 eomaps 如果知道所有需求,那么在创建时声明它们总是更有效,而不是让求解器运行多次。
    • 谢谢@raphael。这个解决方案奏效了!我只有一个问题。不同的环境有什么作用?是不是在base环境下工作不好?我认为这是一个幼稚的问题。建议我任何可以详细阅读的链接。再次感谢您!
    • @merv 建议的解决方案似乎只是做同样事情的一种捷径。第一次,我更喜欢拉斐尔建议的方式。也谢谢你。
    • 嘿 @new_coder ,很高兴听到它现在正在工作!嗯...有许多网站为您提供有关如何(以及为什么)使用虚拟环境的信息...通过快速搜索,我发现这个看起来相当不错:astrobiomike.github.io/unix/conda-intro...或者只是看看conda-doc 的介绍 docs.conda.io/projects/conda/en/latest/user-guide/…
    • ... 引用第一个链接:““基本”conda 环境,就像听起来一样,是我们在 conda 中的大本营。我们不想安装很多复杂的程序在这里,添加的东西越多,最终发生冲突的可能性就越大。" :-)