SIDN / CycleHunter

Python software that reads zone files, extract NS records, and detect cyclic dependencies
https://tsuname.io
BSD 2-Clause "Simplified" License
37 stars 14 forks source link

Dependencies on specific versions #24

Closed bortzmeyer closed 3 years ago

bortzmeyer commented 3 years ago

The documentation is quite vague about the requirments, mentioning packages but not their versions. For instance, on a Debian stable, the packages mentioned do not work:

Traceback (most recent call last):
  File "CycleHunter.py", line 5, in <module>
    from CyclicDetector import map_nsset
  File "/home/bortzmeyer/tmp/CycleHunter/CyclicDetector.py", line 2, in <module>
    import dns.asyncresolver
ModuleNotFoundError: No module named 'dns.asyncresolver'

This is because CycleHunter requires a more recent version of dnspython, so the apt install command mentioned in the doc is wrong.

Same issue for tqdm:

Traceback (most recent call last):
  File "CycleHunter.py", line 5, in <module>
    from CyclicDetector import map_nsset
  File "/home/bortzmeyer/tmp/CycleHunter/CyclicDetector.py", line 15, in <module>
    import tqdm.asyncio
ModuleNotFoundError: No module named 'tqdm.asyncio'

In both cases, removing the Debian package and installing with pip works.

gmmoura commented 3 years ago

I think I added as a requirement Python 3.7 minimum. that should do... I guess

bortzmeyer commented 3 years ago

Nope. Debian stable has Python 3.7.3 but the problem is in external libraries (such as dnspython).

gmmoura commented 3 years ago

Oh thanks ( the original version of cyclehunter did not require asyncio, but the newer did, so the text seems that has not been updated.

So what did you have to do on Debian? remove dnspython and re-install it with pip3.7? (so I can then update the readme file)

bortzmeyer commented 3 years ago

Yes, see above "removing the Debian package and installing with pip works"

gmmoura commented 3 years ago

fixed, thanks @bortzmeyer