Beste Antwort
Ohne Code zu sehen, ist es schwierig, eine endgültige Antwort zu finden, aber Ich denke, das Problem ist, dass der Code, den Sie importieren, ungefähr so aussieht:
 Sie haben ein Modul namens fluff und in diesem Modul haben Sie eine Klasse fluff; In der Fluff-Klasse gibt es eine Methode namens check\_output 
Ihr Code sieht folgendermaßen aus:
 import fluff 
 cfg = fluff.check\_output(stuff) # You want the fluff class here 
 Das Problem ist, dass all das import fluff importiert das Fluff-Modul. Die benötigte Fluff-Klasse heißt tatsächlich fluff.fluff. 
Es gibt zwei Lösungen:
1:
 import fluff 
 cfg = fluff.fluff.check\_output(stuff) # You want the fluff class here 
2:
 from fluff import fluff # this imports the fluff class. 
 cfg = fluff.check\_output(stuff) # You want the fluff class here 
Dies ist einer der Gründe, warum die Namenskonvention so wichtig ist – wenn die Module und Klassen folgen den PEP8-Namenskonventionen. Der Code lautet
 from fluff import Fluff # this imports the fluff class. 
 cfg = Fluff.check\_output(stuff) # You want the fluff class here 
Dieses Großbuchstaben F könnte ausreichen, um Fehler zu vermeiden – oder Sie zumindest auf potenzielle Probleme hinzuweisen.
–
Die andere mögliche Antwort lautet: Das Modul, das Sie importieren, wird von einer anderen Datei beschattet (mit anderen Worten, es gibt eine Datei mit demselben Namen, die Python früher bei der Suche nach dem zu importierenden Element gefunden hat). Die häufigste Ursache für Anfänger ist, dass Sie Ihr Skript genauso benennen wie das Modul, das Sie importieren möchten. Da Python IMMER die aktuelle Verzeichnisdatei durchsucht, wenn Sie ein Skript mit dem Namen foo.py haben und es ein import foo ausführt, importiert dieser Import das Skript mit dem Namen foo.py – wahrscheinlich nicht das, was Sie wollen.
Der beste Weg, um dieses Problem zu diagnostizieren, besteht darin, die interaktive Konsole im selben Verzeichnis zu öffnen und Folgendes einzugeben:
 >>> import  
 >>>  
 wobei 
Antwort
Ohne hinzuschauen Bei Ihrem Code könnte es eines von zwei Problemen sein (aber nicht auf diese beiden beschränkt), an die ich sofort denken könnte:
- Modul ist nicht richtig installiert. Überprüfen Sie Ihren Site-Packages-Ordner auf das Modul. Wenn es da ist, könnte es Problem Nr. 2:
-  Wird nicht mit einer geeigneten Version von Python ausgeführt, d. H. Es werden Module installiert, die für Python2 bestimmt sind, aber mit Python3-Import aufgerufen. Verwenden Sie pip, um das Modul zu deinstallieren, und versuchen Sie dann, es erneut mit pip3 zu installieren, um die entsprechende Version zu erhalten. Ich weiß nicht warum, aber einige Computer wie mein Raspberry Pi Zero W v1.1 verwenden standardmäßig den Befehl pip anstelle von 3. Die Neuinstallation mit pip3 hat bei mir funktioniert, da ich meinen Code mit der python3Befehl anstelle des üblichenpython.
Ich könnte eine vorübergehende „schmutzige“ Lösung vorschlagen, die darin besteht, die Modulquelle in Ihre zu kopieren Arbeitsverzeichnis, dh nehmen Sie den Ordner „module“ und legen Sie ihn im selben Ordner ab wie die Quelldatei, die Sie ausführen. Es kann auch sein, dass Sie ein Git-Repository geklont oder aus einem ZIP-Ordner extrahiert haben, in dem sich die Datei module.py in einem anderen Ordner befindet, der sich in einem anderen Ordner mit demselben Namen befindet. In diesem Fall kann es hilfreich sein, module.module als Modul zu importieren, anstatt das Modul einfach sofort zu importieren:
 import module.module as module 
anstelle von
 import module 
, wodurch die Anzahl der Änderungen in Ihrem Code verringert wird. Viel Glück!