geokey
geokey copied to clipboard
Installation fails due to conflicting oauthlib version
Hi, users are unable to run geokey due to dependency conflict with oauthlib package. As shown in the following full dependency graph of geokey, geokey requires oauthlib ==2.0.6,while django-oauth-toolkit requires oauthlib ==2.0.1.
According to pip’s “first found wins” installation strategy, oauthlib ==2.0.6 is the actually installed version. However, oauthlib ==2.0.6 does not satisfy ==2.0.1.
Dependency tree-----------
geokey - 1.11.2
| +- django(install version:1.11.26 version range:>=1.8.19,<1.12)
| | +- pytz(install version:2017.2 version range:*)
| +- django-aggregate-if(install version:0.5 version range:==0.5)
| | +- six(install version:1.13.0 version range:>=1.6.1)
| +- django-allauth(install version:0.33.0 version range:==0.33.0)
| +- django-braces(install version:1.11.0 version range:==1.11.0)
| +- django-crontab(install version:0.7.1 version range:==0.7.1)
| | +- django(install version:1.11.26 version range:>=1.8)
| | | +- pytz(install version:2017.2 version range:*)
| +- django-hstore(install version:1.4.2 version range:==1.4.2)
| | +- django-discover-runner(install version:1.0 version range:==1.0)
| | +- psycopg2(install version:2.7.3.1 version range:>=2.4.3)
| +- django-model-utils(install version:3.1.2 version range:==3.1.2)
| | +- django(install version:1.11.26 version range:>=1.8)
| | | +- pytz(install version:2017.2 version range:*)
| +- django-nose(install version:1.4.5 version range:==1.4.5)
| | +- nose(install version:1.3.7 version range:>=1.2.1)
| +- django-oauth-toolkit(install version:0.12.0 version range:==0.12.0)
| | +- django(install version:1.11.26 version range:>=1.8)
| | | +- pytz(install version:2017.2 version range:*)
| | +- django-braces(install version:1.11.0 version range:>=1.11.0)
| | +- oauthlib(install version:2.0.1 version range:==2.0.1)
| | +- six(install version:1.13.0 version range:*)
| +- django-pgjson(install version:0.3.1 version range:==0.3.1)
| +- django-simple-history(install version:1.8.2 version range:==1.8.2)
| +- djangorestframework(install version:3.9.4 version range:==3.9.4)
| +- djangorestframework-gis(install version:0.14.0 version range:==0.14.0)
| +- easy-thumbnails(install version:2.4.2 version range:==2.4.2)
| +- facebook-sdk(install version:2.0.0 version range:==2.0.0)
| | +- requests(install version:2.20.0 version range:*)
| | | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | | +- idna(install version:2.7 version range:>=2.5,<2.8)
| | | +- urllib3(install version:1.24.3 version range:>=1.21.1,<1.25)
| +- gdal(install version:1.10.0 version range:==1.10.0)
| +- gdata(install version:2.0.18 version range:==2.0.18)
| +- google-api-python-client(install version:1.6.4 version range:==1.6.4)
| | +- httplib2(install version:0.14.0 version range:<1dev,>=0.9.2)
| | +- oauth2client(install version:4.1.2 version range:<5.0.0dev,>=1.5.0)
| | | +- httplib2(install version:0.14.0 version range:>=0.9.1)
| | | +- pyasn1(install version:0.4.8 version range:>=0.1.7)
| | | +- pyasn1-modules(install version:0.2.7 version range:>=0.0.5)
| | | +- rsa(install version:4.0 version range:>=3.1.4)
| | | | +- pyasn1(install version:0.4.8 version range:>=0.1.3)
| | | +- six(install version:1.13.0 version range:>=1.6.1)
| | +- six(install version:1.13.0 version range:>=1.6.1,<2dev)
| | +- uritemplate(install version:3.0.0 version range:<4dev,>=3.0.0)
| +- iso8601(install version:0.1.12 version range:==0.1.12)
| +- moment(install version:0.8.2 version range:==0.8.2)
| | +- dateparser(install version:0.7.2 version range:>=0.6)
| | | +- python-dateutil(install version:2.8.1 version range:*)
| | | +- pytz(install version:2017.2 version range:*)
| | | +- regex(install version:2019.11.1 version range:*)
| | | +- tzlocal(install version:2.0.0 version range:*)
| | | | +- pytz(install version:2017.2 version range:*)
| | +- pytz(install version:2017.2 version range:>=2017.2)
| | +- times(install version:0.7 version range:*)
| | | +- arrow(install version:0.15.4 version range:*)
| | | | +- backports.functools-lru-cache(install version:1.6.1 version range:>=1.2.1)
| | | | +- python-dateutil(install version:2.8.1 version range:*)
| +- nose(install version:1.3.7 version range:==1.3.7)
| +- oauth2client(install version:4.1.2 version range:==4.1.2)
| | +- httplib2(install version:0.14.0 version range:>=0.9.1)
| | +- pyasn1(install version:0.4.8 version range:>=0.1.7)
| | +- pyasn1-modules(install version:0.2.7 version range:>=0.0.5)
| | +- rsa(install version:4.0 version range:>=3.1.4)
| | | +- pyasn1(install version:0.4.8 version range:>=0.1.3)
| | +- six(install version:1.13.0 version range:>=1.6.1)
| +- oauthlib(install version:2.0.6 version range:==2.0.6)
| +- pillow(install version:4.3.0 version range:==4.3.0)
| +- psycopg2(install version:2.7.3.1 version range:==2.7.3.1)
| +- python-magic(install version:0.4.15 version range:==0.4.15)
| +- pytz(install version:2017.2 version range:==2017.2)
| +- requests(install version:2.20.0 version range:==2.20.0)
| | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | +- idna(install version:2.7 version range:>=2.5,<2.8)
| | +- urllib3(install version:1.24.3 version range:>=1.21.1,<1.25)
| +- tweepy(install version:3.5.0 version range:==3.5.0)
| | +- requests(install version:2.20.0 version range:>=2.4.3)
| | | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | | +- idna(install version:2.7 version range:>=2.5,<2.8)
| | | +- urllib3(install version:1.24.3 version range:>=1.21.1,<1.25)
| | +- requests-oauthlib(install version:1.3.0 version range:>=0.4.1)
| | +- six(install version:1.13.0 version range:>=1.7.3)
Thanks for your help. Best, Neolith
Suggested Solution
- Fix your direct dependency to be django-nose>=1.4.5. I have checked this revision will not affect your downstream projects now.
- Remove your direct dependency oauthlib, and use oauthlib transitively introduced by django-nose.
@oliverroick Which solution do you prefer, 1 or 2? Please let me know your choice. I can submit a PR to solve this issue.
Hi @NeolithEra, thanks for the report. I'm not maintaining this project any more so I'm not the best person to make the call. Maybe @josokinas can help.
@oliverroick Thanks for your feedback, waiting for @josokinas's response :- P .
@NeolithEra CI does not have any problem installing from scratch - please open one or another PR, or even both, we'll see whether CI build succeeds and then can decide.
ISSUES
Hi, users are unable to run *geokey* due to dependency conflict with oauthlib package. As shown in the following full dependency graph of *geokey*, *geokey* requires oauthlib ==2.0.6,while *django-oauth-toolkit* requires oauthlib ==2.0.1.
geokey - 1.11.2
| +- django(install version:1.11.26 version range:>=1.8.19,<1.12)
| | +- pytz(install version:2017.2 version range:*)
| +- django-aggregate-if(install version:0.5 version range:==0.5)
| | +- six(install version:1.13.0 version range:>=1.6.1)
| +- django-allauth(install version:0.33.0 version range:==0.33.0)
| +- django-braces(install version:1.11.0 version range:==1.11.0)
| +- django-crontab(install version:0.7.1 version range:==0.7.1)
| | +- django(install version:1.11.26 version range:>=1.8)
| | | +- pytz(install version:2017.2 version range:*)
| +- django-hstore(install version:1.4.2 version range:==1.4.2)
| | +- django-discover-runner(install version:1.0 version range:==1.0)
| | +- psycopg2(install version:2.7.3.1 version range:>=2.4.3)
| +- django-model-utils(install version:3.1.2 version range:==3.1.2)
| | +- django(install version:1.11.26 version range:>=1.8)
| | | +- pytz(install version:2017.2 version range:*)
| +- django-nose(install version:1.4.5 version range:==1.4.5)
| | +- nose(install version:1.3.7 version range:>=1.2.1)
| +- django-oauth-toolkit(install version:0.12.0 version range:==0.12.0)
| | +- django(install version:1.11.26 version range:>=1.8)
| | | +- pytz(install version:2017.2 version range:*)
| | +- django-braces(install version:1.11.0 version range:>=1.11.0)
| | +- oauthlib(install version:2.0.1 version range:==2.0.1)
| | +- six(install version:1.13.0 version range:*)
| +- django-pgjson(install version:0.3.1 version range:==0.3.1)
| +- django-simple-history(install version:1.8.2 version range:==1.8.2)
| +- djangorestframework(install version:3.9.4 version range:==3.9.4)
| +- djangorestframework-gis(install version:0.14.0 version range:==0.14.0)
| +- easy-thumbnails(install version:2.4.2 version range:==2.4.2)
| +- facebook-sdk(install version:2.0.0 version range:==2.0.0)
| | +- requests(install version:2.20.0 version range:*)
| | | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | | +- idna(install version:2.7 version range:>=2.5,<2.8)
| | | +- urllib3(install version:1.24.3 version range:>=1.21.1,<1.25)
| +- gdal(install version:1.10.0 version range:==1.10.0)
| +- gdata(install version:2.0.18 version range:==2.0.18)
| +- google-api-python-client(install version:1.6.4 version range:==1.6.4)
| | +- httplib2(install version:0.14.0 version range:<1dev,>=0.9.2)
| | +- oauth2client(install version:4.1.2 version range:<5.0.0dev,>=1.5.0)
| | | +- httplib2(install version:0.14.0 version range:>=0.9.1)
| | | +- pyasn1(install version:0.4.8 version range:>=0.1.7)
| | | +- pyasn1-modules(install version:0.2.7 version range:>=0.0.5)
| | | +- rsa(install version:4.0 version range:>=3.1.4)
| | | | +- pyasn1(install version:0.4.8 version range:>=0.1.3)
| | | +- six(install version:1.13.0 version range:>=1.6.1)
| | +- six(install version:1.13.0 version range:>=1.6.1,<2dev)
| | +- uritemplate(install version:3.0.0 version range:<4dev,>=3.0.0)
| +- iso8601(install version:0.1.12 version range:==0.1.12)
| +- moment(install version:0.8.2 version range:==0.8.2)
| | +- dateparser(install version:0.7.2 version range:>=0.6)
| | | +- python-dateutil(install version:2.8.1 version range:*)
| | | +- pytz(install version:2017.2 version range:*)
| | | +- regex(install version:2019.11.1 version range:*)
| | | +- tzlocal(install version:2.0.0 version range:*)
| | | | +- pytz(install version:2017.2 version range:*)
| | +- pytz(install version:2017.2 version range:>=2017.2)
| | +- times(install version:0.7 version range:*)
| | | +- arrow(install version:0.15.4 version range:*)
| | | | +- backports.functools-lru-cache(install version:1.6.1 version range:>=1.2.1)
| | | | +- python-dateutil(install version:2.8.1 version range:*)
| +- nose(install version:1.3.7 version range:==1.3.7)
| +- oauth2client(install version:4.1.2 version range:==4.1.2)
| | +- httplib2(install version:0.14.0 version range:>=0.9.1)
| | +- pyasn1(install version:0.4.8 version range:>=0.1.7)
| | +- pyasn1-modules(install version:0.2.7 version range:>=0.0.5)
| | +- rsa(install version:4.0 version range:>=3.1.4)
| | | +- pyasn1(install version:0.4.8 version range:>=0.1.3)
| | +- six(install version:1.13.0 version range:>=1.6.1)
| +- oauthlib(install version:2.0.6 version range:==2.0.6)
| +- pillow(install version:4.3.0 version range:==4.3.0)
| +- psycopg2(install version:2.7.3.1 version range:==2.7.3.1)
| +- python-magic(install version:0.4.15 version range:==0.4.15)
| +- pytz(install version:2017.2 version range:==2017.2)
| +- requests(install version:2.20.0 version range:==2.20.0)
| | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | +- idna(install version:2.7 version range:>=2.5,<2.8)
| | +- urllib3(install version:1.24.3 version range:>=1.21.1,<1.25)
| +- tweepy(install version:3.5.0 version range:==3.5.0)
| | +- requests(install version:2.20.0 version range:>=2.4.3)
| | | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | | +- idna(install version:2.7 version range:>=2.5,<2.8)
| | | +- urllib3(install version:1.24.3 version range:>=1.21.1,<1.25)
| | +- requests-oauthlib(install version:1.3.0 version range:>=0.4.1)
| | +- six(install version:1.13.0 version range:>=1.7.3)
Error
ERROR: Cannot install -r requirements.txt (line 1) and oauthlib==2.0.6 because these package versions have conflicting dependencies.
The conflict is caused by: The user requested oauthlib==2.0.6 django-oauth-toolkit 0.12.0 depends on oauthlib==2.0.1
Solution
We analyze your project according to the call graph, and now give you the following suggestion, loosen your direct dependency to be oauthlib==* . I have checked that this version will not affect the normal operation of your program
Thanks for your help. Best, SmartPycg