【问题标题】:Understanding Conda, getting ResolvePackageNotFound error了解 Conda,得到 ResolvePackageNotFound 错误
【发布时间】:2020-05-19 21:41:33
【问题描述】:

我是康达的新手。我读到它使维护不同版本的包变得容易。我克隆了一个 git repo:https://github.com/datitran/face2face-demo 使用

git clone https://github.com/datitran/face2face-demo

而不是上面 git 页面上的要求,但遗憾的是当我运行时

conda env create -f environment.yml

它给了我以下错误:

Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound: 
  - mkl==2017.0.3=0
  - jpeg==9b=0
  - readline==6.2=2
  - xz==5.2.2=1
  - libpng==1.6.27=0
  - tk==8.5.18=0
  - numpy==1.13.0=py35_0
  - bzip2==1.0.6=3

我在 Ubuntu 和 Mac 上都运行了这些,但在这两个地方都遇到了同样的错误。

所以我的问题是(所有相关的,基本上我希望 conda 不会给我这些错误):

  • 为什么 conda 无法解决这些问题?
  • 如何解决它们?
  • 如果我在安装 conda 后遇到这些问题,那么使用 conda 有什么意义。我下载的 500Mb+ 安装程序中有什么?

我的第二个问题是关于 mac 上的 conda shell,我在以下地址提问:How to open conda shell in mac

【问题讨论】:

    标签: python-3.x macos installation conda environment


    【解决方案1】:

    为什么 conda 无法解决这些问题?

    因为您请求的软件包版本无法从默认渠道获得(不再提供)。从 conda 版本 4.7 开始,所谓的 free 频道已被删除 from the defaults,这会导致一些较旧的模块版本不再被发现。你可以通过输入conda search <package name>来判断:

    conda search mkl
    Loading channels: done
    # Name                       Version           Build  Channel
    mkl                         2017.0.4      h4c4d0af_0  pkgs/main
    mkl                         2018.0.0      hb491cac_4  pkgs/main
    mkl                         2018.0.1      h19d6760_4  pkgs/main
    mkl                         2018.0.2               1  pkgs/main
    mkl                         2018.0.3               1  pkgs/main
    mkl                           2019.0             117  pkgs/main
    mkl                           2019.0             118  pkgs/main
    mkl                           2019.1             144  pkgs/main
    mkl                           2019.3             199  pkgs/main
    mkl                           2019.4             243  pkgs/main
    

    如您所见,您请求的版本不存在。通过添加-c free 即可轻松修复,即再次手动添加free 频道:

    conda search -c free mkl
    Loading channels: done
    # Name                       Version           Build  Channel
    mkl                           11.3.1               0  free
    mkl                           11.3.3               0  free
    mkl                         2017.0.1               0  free
    mkl                         2017.0.3               0  free
    mkl                         2017.0.4      h4c4d0af_0  pkgs/main
    mkl                         2018.0.0      hb491cac_4  pkgs/main
    mkl                         2018.0.1      h19d6760_4  pkgs/main
    mkl                         2018.0.2               1  pkgs/main
    mkl                         2018.0.3               1  pkgs/main
    mkl                           2019.0             117  pkgs/main
    mkl                           2019.0             118  pkgs/main
    mkl                           2019.1             144  pkgs/main
    mkl                           2019.3             199  pkgs/main
    mkl                           2019.4             243  pkgs/main
    

    您可以通过编辑environment.yml:将此开关添加到您的环境创建中:

    channels: !!python/tuple
    - menpo
    - defaults
    - free
    

    如果我在安装 conda 后遇到这些问题,那么使用 conda 有什么意义。我下载的 500Mb+ 安装程序中有什么?

    不要混淆anacondaconda,它们是两个不同的东西。 conda,包和环境管理器附带anacondaminicondaanaconda 还预装了许多软件包,您可以查看是否输入 conda list。如果您不想拥有所有这些预安装的软件包(因为无论如何您只想创建自己的环境),您可以将 anaconda 替换为 miniconda,它没有预先安装任何软件包(除了pythonpipconda 及其依赖项的课程)

    【讨论】:

    • 最后一段没看懂。什么是 conda、anaconda 和 miniconda?并且是否需要在它们之前安装python?
    • @realtebo conda 是一个包和虚拟环境管理器,详见here。 Anaconda 和 miniconda 都是 conda 的安装程序,包括 conda、python 及其依赖项 (miniconda),如果是 anaconda,还有一大堆其他软件包,可以使生成的安装准备好用于许多应用程序,而无需 conda install 很多更多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多