0

I am new to conda. I read that it makes maintaining different versions of package easy. I cloned a git repo: https://github.com/datitran/face2face-demo using

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

instead of what is asked on the above git page, but sadly when I ran

conda env create -f environment.yml

It gave me following error:

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

I ran these in Ubuntu as well as Mac, but got the same error at both the places.

So my question is (all related, basically I was hoping that conda will not give me these errors):

  • Why conda is not able to resolve these?
  • How to resolve them?
  • Whats the point of using conda if I bump into these issues even after installing it. What is there in 500Mb+ installer which I downloaded?

My second question is regarding conda shell on mac which I asked at: How to open conda shell in mac

user1953366
  • 1,341
  • 2
  • 17
  • 27

1 Answers1

1

Why conda is not able to resolve these?

Because the package versions you request are not available from the default channels (any more). As of conda version 4.7, the so called free channel was removed from the defaults, which now results in some older module versions not being found any more. You can tell by typing 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

As you can see, your requested version is not there. Easily fixed though by adding the -c free, i.e. manually adding the free channel again:

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

You can add this switch to your environment creation by editing the environment.yml:

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

Whats the point of using conda if I bump into these issues even after installing it. What is there in 500Mb+ installer which I downloaded?

Don't confuse anaconda and conda, which are two different things. conda, the package and environment manager comes with anaconda and miniconda. anaconda comes also with many packages pre installed, whcih you can see if you type conda list. If you don't want to have all these pre-installed packages (since you only want to create your own environment anyway), you could replace anaconda with miniconda, which does not have any packages pre-insatlled (except of course for python, pip, conda and their dependencies)

FlyingTeller
  • 17,638
  • 3
  • 38
  • 53
  • I don't understand the last paragraph. What are conda, anaconda and miniconda? And are python required to be installed before them? – realtebo Sep 19 '20 at 12:19
  • 1
    @realtebo `conda` is a package and virtual environment manager, see [here](https://docs.conda.io/en/latest/) for details. Anaconda and miniconda are both installers for conda that include conda, python and their dependencies (miniconda) and in case of anaconda, a whole bunch of other packages that makes the resulting installation ready to use for many applications without having to `conda install` a lot more. – FlyingTeller Sep 21 '20 at 10:23