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

django-es-utils broken by elasticsearch and elasticmock #3

Open
NeolithEra opened this issue Dec 3, 2019 · 0 comments
Open

django-es-utils broken by elasticsearch and elasticmock #3

NeolithEra opened this issue Dec 3, 2019 · 0 comments

Comments

@NeolithEra
Copy link

Hi, users are unable to run django-es-utils due to dependency conflict with elasticsearch package. As shown in the following full dependency graph of django-es-utils, **django-es-util**s requires elasticsearch ==6.3.0,while elasticmock requires elasticsearch <=1.9.0.

According to pip’s “first found wins” installation strategy, elasticsearch 6.3.0 is the actually installed version. However, elasticsearch 6.3.0 does not satisfy <=1.9.0.

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

django-es-utils - 1.0.3
| +- django(install version:1.8 version range:==1.8)
| +- elasticmock(install version:1.3.2 version range:==1.3.2)
| | +- elasticsearch(install version:1.9.0 version range:<=1.9.0)
| | | +- urllib3(install version:1.21.1 version range:>=1.8,<2.0)
| | +- mock(install version:1.0.1 version range:<=1.0.1)
| +- elasticsearch(install version:6.3.0 version range:==6.3.0)
| | +- urllib3(install version:1.21.1 version range:>=1.21.1)
| +- elasticsearch-dsl(install version:6.2.1 version range:==6.2.1)
| | +- elasticsearch(install version:6.3.0 version range:>=6.0.0,<7.0.0)
| | | +- urllib3(install version:1.21.1 version range:>=1.21.1)
| | +- ipaddress(install version:1.0.23 version range:*)
| | +- python-dateutil(install version:2.8.1 version range:*)
| | +- six(install version:1.13.0 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.21.1 version range:<1.26,>=1.21.1)
| +- urllib3(install version:1.21.1 version range:>=1.21.1,<1.22)

Thanks for your help.
Best,
Neolith

@NeolithEra
Copy link
Author

Suggested Solution

  1. Fix your direct dependency to be elasticsearch <=1.9.0. I have checked this revision will not affect your downstream projects now.
  2. Fix your direct dependency to be elasticmock *. I have checked this revision will not affect your downstream projects now.
  3. Remove your direct dependency elasticsearch, and use elasticsearch transitively introduced by elasticmock.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant