Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation fails due to conflicting python-dateutil version #114

Open
NeolithEra opened this issue Dec 16, 2019 · 5 comments
Open

Installation fails due to conflicting python-dateutil version #114

NeolithEra opened this issue Dec 16, 2019 · 5 comments
Labels
pending Depends on other library

Comments

@NeolithEra
Copy link

Hi, users are unable to run pygenealogicaltools due to dependency conflict with python-dateutil package. As shown in the following full dependency graph of pygenealogicaltools, mapbox requires _ python-dateutil >=2.5.0_,while botocore requires python-dateutil <2.8.1,>=2.1.

According to pip’s “first found wins” installation strategy, python-dateutil 2.8.1 is the actually installed version. However, python-dateutil 2.8.1 does not satisfy <2.8.1,>=2.1.

Dependency tree-----------

pygenealogicaltools - 0.4.0
| +- langdetect(install version:1.0.7 version range:*)
| +- mapbox(install version:0.18.0 version range:*)
| | +- boto3(install version:1.10.39 version range:>=1.4)
| | | +- botocore(install version:1.13.39 version range:>=1.13.39,<1.14.0)
| | | | +-python-dateutil(install version:2.8.0 version range:<2.8.1,>=2.1)
| | | +- jmespath(install version:0.7.0 version range:>=0.7.1,<1.0.0)
| | | +- s3transfer(install version:0.2.1 version range:>=0.2.0,<0.3.0)
| | +- cachecontrol(install version:0.12.5 version range:*)
| | | +-msgpack(install version:0.6.2 version range:*)
| | +- iso3166(install version:1.0.1 version range:*)
| | +- polyline(install version:1.4.0 version range:>=1.3.1)
| | | +- six(install version:1.13.0 version range:>=1.8.0)
| | +- python-dateutil(install version:2.8.1 version range:>=2.5.0)
| | +- requests(install version:2.22.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.8 version range:>=2.5,<2.9)
| | | +- urllib3(install version:1.25.7 version range:<1.26,>=1.21.1)
| | +- uritemplate(install version:3.0.0 version range:>=2.0)
| +- metaphone(install version:0.6 version range:*)
| +- geotext(install version:0.4.0 version range:*)
| +- openpyxl(install version:3.0.2 version range:*)
| +- pyexcel(install version:0.5.15 version range:*)
| | +- lml(install version:0.0.9 version range:>=0.0.4)
| | +- pyexcel-io(install version:0.5.20 version range:>=0.5.19)
| | | +- lml(install version:0.0.9 version range:>=0.0.4)
| +- pyexcel-xls(install version:0.5.8 version range:*)
| | +- pyexcel-io(install version:0.5.20 version range:>=0.5.3)
| | | +- lml(install version:0.0.9 version range:>=0.0.4)
| | +- xlrd(install version:1.2.0 version range:*)
| | +- xlwt(install version:1.3.0 version range:*)
| | | +- coveralls(install version:1.9.2 version range:*)
| | | +- nose(install version:1.3.7 version range:*)
| | | +- nose-cov(install version:1.6 version range:*)
| | | +- nose-fixes(install version:1.3 version range:*)
| | | | +- nose(install version:1.3.7 version range:*)
| | | | +- setuptools(install version:42.0.2 version range:*)
| | | +- panci(install version:0.0.2 version range:*)
| | | | +- pyyaml(install version:5.2 version range:*)
| | | +- pkginfo(install version:1.5.0.1 version range:*)
| | | +- setuptools-git(install version:1.2 version range:*)
| | | +- six(install version:1.13.0 version range:*)
| | | +- sphinx(install version:2.2.2 version range:*)
| | | +- tox(install version:3.14.2 version range:*)
| | | +- twine(install version:3.1.1 version range:*)
| | | +- wheel(install version:0.33.6 version range:*)
| +- pyexcel-xlsx(install version:0.5.7 version range:*)
| | +- openpyxl(install version:2.5.14 version range:>=2.5.0,<2.6.0)
| | | +- et-xmlfile(install version:1.0.1 version range:*)
| | | | +- python(install version:2.5 version range:>=2.6.0)
| | | +- jdcal(install version:1.4.1 version range:*)
| | +- pyexcel-io(install version:0.5.20 version range:>=0.5.3)
| | | +- lml(install version:0.0.9 version range:>=0.0.4)
| +- python-levenshtein(install version:0.12.0 version range:*)
| | +- setuptools(install version:42.0.2 version range:*)
| +- requests(install version:2.22.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.8 version range:>=2.5,<2.9)
| | +- urllib3(install version:1.25.7 version range:<1.26,>=1.21.1)

Thanks for your help.
Best,
Neolith

@NeolithEra
Copy link
Author

Suggested Solution

  1. Ask your upstream project mapbox to fix his direct dependency to be python-dateutil <2.8.1,>=2.5.0. I have checked this revision will not affect your downstream projects now.
  2. Ask your upstream project botocore to loose the version range of python-dateutil.

@Thimxx Which solution do you prefer, 1 or 2?
Please let me know your choice. I can submit a PR to solve this issue.

@Thimxx
Copy link
Owner

Thimxx commented Dec 20, 2019

Interesting.... in fact, it should fail the installation of mapbox itself, isn't it? I have been able to install it.
Just noticed you have made the suggestion already. It looks mapbox is no longer maintained... I might need to change the library is no response.

Keep this link as tracking mapbox/mapbox-sdk-py#276

@Thimxx
Copy link
Owner

Thimxx commented Dec 20, 2019

Which version of python are you using?
Just checked and ideally the low level botocore should be compatible with <3.0.0 dateutils

https://github.com/boto/botocore/blob/develop/setup.py

@Thimxx
Copy link
Owner

Thimxx commented Dec 23, 2019

Version 2.8.1 of python-dateutil was created one month ago, likely this is the problem, dependencies look not to be updated.

Fixed in version 0.4.2, I introduced the dependencies, but in parallel I am trying to work to free the dependencies in the other packages... I would prefer to have more flexibility. So I keep the issue open until that is fixed.Now is accessible through pip

@Thimxx
Copy link
Owner

Thimxx commented Jul 12, 2020

The mapbox development is paused. To be carefully looked as we might have an obsolescence of code.

@Thimxx Thimxx added the pending Depends on other library label Jul 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending Depends on other library
Projects
None yet
Development

No branches or pull requests

2 participants