Understanding conda conflict resolution message

Viewed 158

I have been trying to resolve some conflicts in conda and trying to understand the conflict messages.

My environment.yml file is as follows

name: main_env
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.6
  - pandas==0.19.2
  - numpy==1.12.1
  - scipy==0.18.1
  - jinja2==2.8
  - markupsafe==0.23
  - pillow==4.0.0
  - luigi==2.8.0
  - psycopg2==2.6.2
  - pymysql==0.7.11
  - requests==2.22.0
  - elasticsearch==6.3.1
  - gspread==0.6.2
  - oauth2client==4.0.0
  - s3fs==0.2.0
  - pytz
  - bs4
  - html5lib
  - mysqlclient
  - matplotlib
  - paramiko
  - pip
  - pyyaml
  - pygithub
  - runipy
  - seaborn
  - xlwt
  - pip:
      - pycountry==17.1.8
      - geolib==1.0.6
      - sqlalchemy==1.0.4
      - pyathena==1.3.0
      - pyspark==2.1.3
      - flask==0.12.3
      - shapely==1.6.4.post1
      - aws-kinesis-agg==1.1.0
      - sendgrid==2.2.1
      - google-api-python-client==1.6.1
      - boto==2.45.0
      - googleads

I see conflict messages like this

Package matplotlib conflicts for:
seaborn -> matplotlib[version='>=1.4.3|>=2.1.2']
matplotlib

Package jinja2 conflicts for:
jinja2==2.8
runipy -> jinja2[version='>=2.7.2']
runipy -> nbconvert[version='>=4.0.0'] -> jinja2[version='>=2.4']

Package enum34 conflicts for:
paramiko -> cryptography[version='>=2.5'] -> enum34
luigi==2.8.0 -> enum34

...

I am trying to understand how these are even conflicts. Let's take jinja2 conflict. According to my understanding 2.8 should be able to satisfy the requirement. So why is that reported as a conflict?

0 Answers
Related