Um in Python eine DNS Abfrage zu stellen, gibt es das Modul dnspython https://www.dnspython.org/
Nun bin ich über ein kleines Problem gestolpert – Fehlermeldung: no module named dns
Es gibt eine Reihen von Problemlösungen im Netz, aber keine funktionierte bei mir. Bis ich auf den Umstand gestoßen bin, dass Linux Case-Sensitiv ist und Windows nicht. Und da ich die Meldung unter besagten Windows System bekommen habe, wurde ich fündig.
Mit pip show dnspython
kann man sich die Infos zum Paket ansehen. Mit pip list
eine Liste aller installierten Pakete.
Name: dnspython
Version: 2.7.0
Summary: DNS toolkit
Home-page: https://www.dnspython.org
Author:
Author-email: Bob Halley <halley@dnspython.org>
License: ISC
Location: C:\Users\FranzStaffel\AppData\Local\Programs\Python\Python312\Lib\site-packages
Requires:
Required-by:
Nun geschwind in den Ordner der Pakete gewechselt und was findet man da (dir
):
11.12.2024 13:05 <DIR> DNS
11.12.2024 13:05 <DIR> dnspython-2.7.0.dist-info
Siehe da, durch die Installation des Modules DNS gibt es einen Ordner mit Großbuchstaben. Und da Windows nicht Case-Sensitiv ist, kopiert er bei der Installation von dnspython alles in den DNS Ordner.
Kurzerhand dnspython wieder deinstalliert mit pip deinstall dnspython
Den Ordner DNS manuell gelöscht (da ich das Modul DNS ohnehin nicht mehr benötige) und dnspython wieder installiert
11.12.2024 13:05 <DIR> dns
11.12.2024 13:05 <DIR> dnspython-2.7.0.dist-info
Jetzt funktionieren auch die Programme mit dem import dns. Alles eine Frage der Groß- und Kleinschreibung.
Das war die Ursache bei mir, vielleicht hilft es bei dem einen oder anderen, seinen Fehler zu lokalisieren.