hall-lab / svtools

Tools for processing and analyzing structural variants.
MIT License
149 stars 54 forks source link

Installation fails due to conflicting pandas version #302

Open NeolithEra opened 4 years ago

NeolithEra commented 4 years ago

Hi, users are unable to run Svtools due to dependency conflict with pandas package. As shown in the following full dependency graph of Svtools, Svtools requires pandas==0.19,while statsmodels * requires pandas>=0.21.

According to pip’s “first found wins” installation strategy, pandas 0.19.2 is the actually installed version. However, pandas 0.19.2 does not satisfy pandas>=0.21.

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

svtools - 0.5.1
| +- crcmod(install version:1.7 version range:*)
| +- google-auth(install version:1.14.0 version range:*)
| | +- cachetools(install version:4.1.0 version range:>=2.0.0,<5.0)
| | +- pyasn1-modules(install version:0.2.8 version range:>=0.2.1)
| | +- rsa(install version:4.0 version range:>=3.1.4,<4.1)
| | | +- pyasn1(install version:0.4.8 version range:>=0.1.3)
| | +- setuptools(install version:46.1.3 version range:>=40.3.0)
| | +- six(install version:1.14.0 version range:>=1.9.0)
| +- google-cloud-storage(install version:1.27.0 version range:*)
| +- google-compute-engine(install version:2.8.13 version range:*)
| +- logzero(install version:1.5.0 version range:*)
| +- numpy(install version:1.18.2 version range:*)
| +- pandas(install version:0.19.2 version range:==0.19.2)
| +- scipy(install version:1.2.3 version range:*)
| +- setuptools(install version:46.1.3 version range:*)
| +- statsmodels(install version:0.11.1 version range:*)
| | +- numpy(install version:1.18.2 version range:>=1.14)
| | +- pandas(install version:1.0.3 version range:>=0.21)
| | +- patsy(install version:0.5.1 version range:>=0.5)
| | | +- numpy(install version:1.18.2 version range:>=1.4)
| | | +- six(install version:1.14.0 version range:*)
| | +- scipy(install version:1.2.3 version range:>=1.0)
| +- svtyper(install version:0.7.1 version range:==0.7.1)
| | +- cytoolz(install version:0.10.1 version range:>=0.8.2)
| | | +- toolz(install version:0.10.0 version range:>=0.8.0)
| | +- numpy(install version:1.18.2 version range:*)
| | +- pysam(install version:0.15.4 version range:>=0.15.0)
| | | +- cython(install version:3.0a1 version range:>=0.29.12)
| | +- scipy(install version:1.2.3 version range:*)

Thanks for your help. Best, Neolith

NeolithEra commented 4 years ago

Solution

  1. Loosen the version range of pandas to be >=0.19.2.
  2. Remove your direct dependency pandas, and use the pandas transitively introduced by statsmodels.
  3. Ask your direct dependency statsmodels to loosen the version range of pandas to be <=0.21. @ernfrid Which solution do you prefer, 1 ,2 or 3? Please let me know your choice. May I pull a request to solve this issue?
NeolithEra commented 4 years ago

@apregier,Could you help me review this issue? Thx :p

apregier commented 4 years ago

@NeolithEra Please try option 1

apregier commented 4 years ago

@NeolithEra please make a pull request with option 1

nsmackler commented 3 years ago

Hi, I tried pip install svtools and this conflict still exists. Can you help me get around it?

Thanks

Carina201000 commented 3 years ago

Hello Not sure I should comment here, as you did not answer nsmackler? I have similar issue, when trying to install. I need to use cnvnator and svtools, and the pandas problem is still an issue. I can see that commit b4cd37b (from 2020/06/26) has solved the issue, however, that commit is not included in the pip install svtools, which takes the newest official version 0.5.1 (from 2019/09/12). Could you please update the version for pip install svtools or the official version to something that will include commit b4cd37b? Thank you :) Carina