fossor icon indicating copy to clipboard operation
fossor copied to clipboard

Installation fails due to conflicting parsedatetime version

Open NeolithEra opened this issue 4 years ago • 2 comments

Hi, users are unable to run Fossor due to dependency conflict with parsedatetime package. As shown in the following full dependency graph of Fossor, Fossor requires parsedatetime>=2.4,while asciietch>=1.0.2 requires parsedatetime==2.4.

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

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

fossor - 1.1.2
| +- asciietch(install version:1.0.4 version range:>=1.0.2)
| | +- parsedatetime(install version:2.4 version range:==2.4)
| | | +- future(install version:0.18.2 version range:*)
| | +- setuptools(install version:46.1.3 version range:>=30)
| +- click(install version:7.1.1 version range:>=6.7)
| +- humanfriendly(install version:8.1 version range:>=4.4.1)
| | +- pyreadline(install version:2.1 version range:*)
| +- parsedatetime(install version:2.5 version range:>=2.4)
| +- psutil(install version:5.7.0 version range:>=5.4.1)
| +- ptable(install version:0.9.2 version range:>=0.9.2)
| +- requests(install version:2.23.0 version range:>=2.18.4)
| | +- certifi(install version:2020.4.5.1 version range:>=2017.4.17)
| | +- chardet(install version:3.0.4 version range:>=3.0.2,<4)
| | +- idna(install version:2.9 version range:>=2.5,<3)
| | +- urllib3(install version:1.25.9 version range:>=1.21.1,<1.26)
| +- setproctitle(install version:1.1.10 version range:>=1.1.10)
| +- setuptools(install version:46.1.3 version range:>=30)

Thanks for your help. Best, Neolith

NeolithEra avatar May 29 '20 07:05 NeolithEra

Solution

  1. Loosen the version range of parsedatetime to be <=2.4.
  2. Remove your direct dependency parsedatetime, and use the parsedatetime transitively introduced by asciietch.
  3. Ask your direct dependency asciietch to loosen the version range of parsedatetime to be >=2.4. @scallister 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 avatar May 29 '20 07:05 NeolithEra

@NeolithEra thanks for offering to fix this. Lets do 1 and 3. If you submit PRs for fossor and asciietch I'll get those both approved and pushed up to PyPI. Thanks in advance! :)

scallister avatar May 29 '20 15:05 scallister