了解Conda,遇到ResolvePackageNotFound错误

问题描述 投票:0回答:1

我是conda的新手。我读到它使维护不同版本的软件包变得容易。我克隆了一个git仓库:https://github.com/datitran/face2face-demo using

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有什么意义?我下载的500Mb +安装程序中有什么?

我的第二个问题是关于Mac上的conda shell的,我在以下位置问过:How to open conda shell in mac

python-3.x macos install conda environment
1个回答
0
投票

为什么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有什么意义?我下载的500Mb +安装程序中有什么?

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

© www.soinside.com 2019 - 2024. All rights reserved.