clics / pyclics-clustering

Clustering algorithms for CLICS²
Apache License 2.0
1 stars 1 forks source link

Installation fails due to conflicting network version #3

Open NeolithEra opened 4 years ago

NeolithEra commented 4 years ago

Hi, users are unable to run _pyclicsclustering due to dependency conflict with network package. As shown in the following full dependency graph of _pyclicsclustering, _pyclicsclustering requires *_network _,while pyclics requires _networkx==2.1**_.

According to pip’s “first found wins” installation strategy, networkx 2.4 is the actually installed version. However, networkx 2.4 does not satisfy ==2.1.

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

pyclics-clustering - 1.0.0
| +- attrs(install version:19.3.0 version range:>=18.2)
| +- networkx(install version:2.4 version range:*)
| | +- decorator(install version:4.4.1 version range:>=4.3.0)
| +- pyclics(install version:3.0.1 version range:>=2.0.0)
| | +- attrs(install version:19.3.0 version range:>=18.1)
| | +- clldutils(install version:3.5.0 version range:>=3.2)
| | +- geojson(install version:2.5.0 version range:*)
| | +- networkx(install version:2.1 version range:==2.1)
| | | +- decorator(install version:4.4.1 version range:>=4.1.0)
| | +- pyconcepticon(install version:2.5.1 version range:>=2.2)
| | | +- attrs(install version:19.3.0 version range:>=18.1.0)
| | | +- cdstarcat(install version:1.1.0 version range:*)
| | | +- cldfcatalog(install version:1.3.0 version range:>=1.3)
| | | | +- appdirs(install version:1.4.3 version range:*)
| | | | +- gitpython(install version:3.0.5 version range:*)
| | | +- clldutils(install version:3.5.0 version range:>=3.2.1)
| | | +- csvw(install version:1.6.0 version range:>=1.4.5)
| | | | +- attrs(install version:19.3.0 version range:>=18.1)
| | | | +- isodate(install version:0.6.0 version range:*)
| | | | +- pathlib2(install version:2.3.5 version range:*)
| | | | +- python-dateutil(install version:2.8.1 version range:*)
| | | | +- rfc3986(install version:1.3.2 version range:*)
| | | | +- uritemplate(install version:3.0.0 version range:>=3.0.0)
| | | +- nameparser(install version:1.0.5 version range:*)
| | | +- pybtex(install version:0.22.2 version range:>=0.22.2)
| | | | +- latexcodec(install version:1.0.7 version range:>=1.0.4)
| | | | +- pyyaml(install version:5.2 version range:>=3.01)
| | | | +- six(install version:1.13.0 version range:*)
| | | +- tabulate(install version:0.8.6 version range:*)
| | | +- termcolor(install version:1.1.0 version range:*)
| | +- pyglottolog(install version:3.0.0 version range:>=2.0)
| | | +- attrs(install version:19.3.0 version range:>=18.1)
| | | +- cldfcatalog(install version:1.3.0 version range:*)
| | | | +- appdirs(install version:1.4.3 version range:*)
| | | | +- gitpython(install version:3.0.5 version range:*)
| | | +- clldutils(install version:3.5.0 version range:>=3.4)
| | | +- csvw(install version:1.6.0 version range:>=1.5.6)
| | | | +- attrs(install version:19.3.0 version range:>=18.1)
| | | | +- isodate(install version:0.6.0 version range:*)
| | | | +- pathlib2(install version:2.3.5 version range:*)
| | | | +- python-dateutil(install version:2.8.1 version range:*)
| | | | +- rfc3986(install version:1.3.2 version range:*)
| | | | +- uritemplate(install version:3.0.0 version range:>=3.0.0)
| | | +- latexcodec(install version:1.0.7 version range:*)
| | | | +- six(install version:1.13.0 version range:>=1.4.1)
| | | +- markdown(install version:3.1.1 version range:*)
| | | | +- setuptools(install version:42.0.2 version range:>=36)
| | | +- nameparser(install version:1.0.5 version range:*)
| | | +- newick(install version:1.0.0 version range:>=0.9.2)
| | | +- purl(install version:1.5 version range:*)
| | | | +- six(install version:1.13.0 version range:*)
| | | +- pybtex(install version:0.22.2 version range:>=0.22)
| | | | +- latexcodec(install version:1.0.7 version range:>=1.0.4)
| | | | +- pyyaml(install version:5.2 version range:>=3.01)
| | | | +- six(install version:1.13.0 version range:*)
| | | +- pycldf(install version:1.9.0 version range:>=1.6.4)
| | | | +- clldutils(install version:3.5.0 version range:>=3.5)
| | | | +- csvw(install version:1.6.0 version range:>=1.5.5)
| | | | +- pybtex(install version:0.22.2 version range:*)
| | | | +- python-dateutil(install version:2.8.1 version range:*)
| | | | +- uritemplate(install version:3.0.0 version range:>=3.0)
| | | +- pycountry(install version:19.8.18 version range:>=18.12.8)
| | | +- 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)
| | | +- sqlalchemy(install version:1.3.11 version range:*)
| | | +- termcolor(install version:1.1.0 version range:*)
| | | +- tqdm(install version:4.40.2 version range:*)
| | | +- unidecode(install version:1.1.1 version range:*)
| | | +- whoosh(install version:2.7.4 version range:*)
| | +- pylexibank(install version:2.1.0 version range:>=2.0)
| | | +- appdirs(install version:1.4.3 version range:*)
| | | +- attrs(install version:19.3.0 version range:>=18.1.0)
| | | +- cldfbench(install version:1.0.1 version range:>=1.0)
| | | | +- appdirs(install version:1.4.3 version range:*)
| | | | +- cldfcatalog(install version:1.3.0 version range:>=1.3)
| | | | +- clldutils(install version:3.5.0 version range:>=3.1.2)
| | | | +- csvw(install version:1.6.0 version range:>=1.5.6)
| | | | +- pycldf(install version:1.9.0 version range:>=1.8.2)
| | | | +- pytest(install version:5.3.2 version range:*)
| | | | +- requests(install version:2.22.0 version range:*)
| | | | +- termcolor(install version:1.1.0 version range:*)
| | | +- clldutils(install version:3.5.0 version range:>=2.8.0)
| | | +- csvw(install version:1.6.0 version range:>=1.5.6)
| | | | +- attrs(install version:19.3.0 version range:>=18.1)
| | | | +- isodate(install version:0.6.0 version range:*)
| | | | +- pathlib2(install version:2.3.5 version range:*)
| | | | +- python-dateutil(install version:2.8.1 version range:*)
| | | | +- rfc3986(install version:1.3.2 version range:*)
| | | | +- uritemplate(install version:3.0.0 version range:>=3.0.0)
| | | +- gitpython(install version:3.0.5 version range:*)
| | | | +- gitdb2(install version:2.0.6 version range:>=2.0.0)
| | | +- lingpy(install version:2.6.6 version range:>=2.6.5)
| | | +- pycldf(install version:1.9.0 version range:>=1.7.0)
| | | | +- clldutils(install version:3.5.0 version range:>=3.5)
| | | | +- csvw(install version:1.6.0 version range:>=1.5.5)
| | | | +- pybtex(install version:0.22.2 version range:*)
| | | | +- python-dateutil(install version:2.8.1 version range:*)
| | | | +- uritemplate(install version:3.0.0 version range:>=3.0)
| | | +- pyclts(install version:2.0.0 version range:>=2.0)
| | | | +- attrs(install version:19.3.0 version range:>=18.2)
| | | | +- cldfcatalog(install version:1.3.0 version range:>=1.3)
| | | | +- clldutils(install version:3.5.0 version range:>=3.1.2)
| | | | +- csvw(install version:1.6.0 version range:>=1.6)
| | | | +- uritemplate(install version:3.0.0 version range:*)
| | | +- pyconcepticon(install version:2.5.1 version range:>=2.1.0)
| | | | +- attrs(install version:19.3.0 version range:>=18.1.0)
| | | | +- cdstarcat(install version:1.1.0 version range:*)
| | | | +- cldfcatalog(install version:1.3.0 version range:>=1.3)
| | | | +- clldutils(install version:3.5.0 version range:>=3.2.1)
| | | | +- csvw(install version:1.6.0 version range:>=1.4.5)
| | | | +- nameparser(install version:1.0.5 version range:*)
| | | | +- pybtex(install version:0.22.2 version range:>=0.22.2)
| | | | +- tabulate(install version:0.8.6 version range:*)
| | | | +- termcolor(install version:1.1.0 version range:*)
| | | +- pyglottolog(install version:3.0.0 version range:>=2.0)
| | | | +- attrs(install version:19.3.0 version range:>=18.1)
| | | | +- cldfcatalog(install version:1.3.0 version range:*)
| | | | +- clldutils(install version:3.5.0 version range:>=3.4)
| | | | +- csvw(install version:1.6.0 version range:>=1.5.6)
| | | | +- latexcodec(install version:1.0.7 version range:*)
| | | | +- markdown(install version:3.1.1 version range:*)
| | | | +- nameparser(install version:1.0.5 version range:*)
| | | | +- newick(install version:1.0.0 version range:>=0.9.2)
| | | | +- purl(install version:1.5 version range:*)
| | | | +- pybtex(install version:0.22.2 version range:>=0.22)
| | | | +- pycldf(install version:1.9.0 version range:>=1.6.4)
| | | | +- pycountry(install version:19.8.18 version range:>=18.12.8)
| | | | +- requests(install version:2.22.0 version range:*)
| | | | +- sqlalchemy(install version:1.3.11 version range:*)
| | | | +- termcolor(install version:1.1.0 version range:*)
| | | | +- tqdm(install version:4.40.2 version range:*)
| | | | +- unidecode(install version:1.1.1 version range:*)
| | | | +- whoosh(install version:2.7.4 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)
| | | +- segments(install version:2.1.3 version range:>=2.1.1)
| | | | +- clldutils(install version:3.5.0 version range:>=1.7.3)
| | | | +- csvw(install version:1.6.0 version range:>=1.5.6)
| | | | +- regex(install version:2019.12.9 version range:*)
| | | +- termcolor(install version:1.1.0 version range:*)
| | | +- tqdm(install version:4.40.2 version range:*)
| | | +- xlrd(install version:1.2.0 version range:*)
| | +- python-igraph(install version:0.7.1.post6 version range:>=0.7.1)
| | +- unidecode(install version:1.1.1 version range:*)
| | +- zope.component(install version:4.6 version range:*)
| | +- zope.interface(install version:4.7.1 version range:*)
| +- python-louvain(install version:0.13 version range:*)
| | +- networkx(install version:2.4 version range:*)
| | | +- decorator(install version:4.4.1 version range:>=4.3.0)

Thanks for your help. Best, Neolith

NeolithEra commented 4 years ago

Suggested Solution

Ask your upstream project lingpy and pyclics to loose the version range of networkx.

@xrotwang Could I submit a PR to solve this issue?

LinguList commented 4 years ago

lingpy cannot change the version range of networkx, as this would break it. So the solution is to fix the version range.

LinguList commented 4 years ago

At least until we solved lingpy's dependency, which is alreayd noted.

xrotwang commented 4 years ago

@NeolithEra like @LinguList said, we cannot currently loosen the requirements of lingpy. So I'd regard this as a bug in pyclics-clustering which can be worked around by installing pyclics first.