【问题标题】:`conda search PKG --info` shows different dependencies than what conda wants to install?`conda search PKG --info` 显示的依赖项与 conda 想要安装的依赖项不同?
【发布时间】:2021-12-31 02:48:02
【问题描述】:

我正在使用python=3.9osx-arm64 架构。

  • conda create -n py39 python=3.9 numpy

  • conda 列表

      ...
      numpy                     1.21.1           py39h1a24bff_2  
      ...
      python                    3.9.7                hc70090a_1  
    

到目前为止一切顺利:numpy=1.21.1 是我想要的。现在我想添加 scipy,第一个似乎符合要求:

  • conda search scipy --info

      scipy 1.7.1 py39h2f0f56f_2
      --------------------------
      file name   : scipy-1.7.1-py39h2f0f56f_2.conda
      name        : scipy
      version     : 1.7.1
      build       : py39h2f0f56f_2
      build number: 2
      size        : 14.8 MB
      license     : BSD 3-Clause
      subdir      : osx-arm64
      url         : https://repo.anaconda.com/pkgs/main/osx-arm64/scipy-1.7.1-py39h2f0f56f_2.conda
      md5         : edbd5a5399e973d1d0325147b7118f79
      timestamp   : 2021-08-25 16:12:39 UTC
      dependencies: 
      - blas * openblas
      - libcxx >=12.0.0
      - libgfortran 5.*
      - libgfortran5 >=11.1.0
      - libopenblas >=0.3.17,<1.0a0
      - numpy >=1.19.5,<2.0a0
      - python >=3.9,<3.10.0a0
    

尤其是python &gt;=3.9numpy &gt;=1.19 似乎恰到好处。 但是当我尝试安装时

  • conda 安装 scipy

      ...
      The following packages will be DOWNGRADED:
    
      numpy                               1.21.1-py39h1a24bff_2 --> 1.19.5-py39habd9f23_3
    

(我遇到了numpy=1.19 的各种限制(numba, 熊猫,),我试图避免它。)

为什么 scipy 包对 numpy=1.21 版本不满意 有吗?!

唯一可能的线索是 conda 报告了一个 不同的 python 版本(3.8.11)比我为此环境指定的v3.9:

  • 康达信息

    活动环境:py39 活动环境位置:.../miniconda3/envs/py39 外壳等级:1 用户配置文件:.../.condarc 填充的配置文件:.../.condarc 康达版本:4.11.0 conda-build 版本:未安装 python版本:3.8.11.final.0

但所有环境的指针似乎都设置正确:

  • (py39) % 哪个蟒蛇

    .../miniconda3/envs/py39/bin/python

  • (py39) % 蟒蛇

    Python 3.9.7(默认,2021 年 9 月 16 日,23:53:23) [Clang 12.0.0 ] :: Anaconda, Inc. on darwin

谢谢,任何关于损坏的提示将不胜感激!

【问题讨论】:

  • conda info Python 版本适用于 base 环境,而不是活动环境。指定您想要的内容会更有洞察力,然后返回失败的原因,例如,mamba create -n foo python=3.9.7 numpy=1.21.1 scipy=1.7.1(为此使用 mamba,因为 conda 具有糟糕的冲突诊断报告)
  • 感谢@merv!我有一种增量方法,但是您的一体化方法conda create -n scipy python=3.9.7 numpy=1.21.1 scipy=1.7.1 清楚地说明了冲突:Package python conflict for: python=3.9.7 numpy=1.21.1 -> python[version='>= 3.8,=3.9, python[version='>=3.8,=3.9, numpy[version='>=1.19.5,
  • 尝试使用-c conda-forge。使用mamba 似乎可以解决问题(请参阅simulated run)。
  • 你的模拟运行是 MacOS=11.6.2;我正在使用蒙特雷 (v12.1)
  • 我添加了CONDA_OVERRIDE_OSX=12.1(模仿蒙特雷)并包含conda create 以确保相同的行为:still solves fine。除非您看到涉及 virtual package __osx 的冲突消息,否则问题不大可能是 MacOS 版本。

标签: numpy scipy conda


【解决方案1】:

我现在有一些工作,但恐怕我无法指出一个令人满意的“答案”。其他人(例如@merv)似乎没有同样的问题,我无法确定差异。

我确实发现在我的安装中似乎造成问题的一件事是似乎对 pandas 包的一些错误标记:pandas v1.3.5 打破了 numpy==1.19.5 要求,这是唯一的方法我已经能够推动它通过了。我发了pandas issue comment

【讨论】:

    猜你喜欢
    • 2021-10-05
    • 2020-01-09
    • 1970-01-01
    • 2023-01-12
    • 2019-04-11
    • 2019-11-04
    • 2017-04-18
    • 2015-04-01
    • 2020-05-13
    相关资源
    最近更新 更多