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?