Modulobjekt hat kein Attribut 'Bildschirm'

8

Ich lehre selbst Python von dieser Seite . Auf Kapitel 3 , als ich den Code im angegebenen Beispiel eingegeben habe, habe ich den folgenden Fehler -

%Vor%

Ist das etwas, das ich herunterladen und installieren muss? Ich habe versucht, docs.python.org zu betrachten, aber meine Nase begann zu bluten und all diese technischen Dinge zu lesen. Bitte zeigen Sie mir bitte in die richtige Richtung? Danke.

    
Jim Syyap 15.05.2011, 06:29
quelle

3 Antworten

19

Adam Berniers Antwort ist wahrscheinlich richtig. Es sieht so aus, als hättest du eine Datei mit dem Namen turtle.py , die Python vor der mit deiner Python-Installation bekommen hat.

Um diese Probleme aufzuspüren:

%Vor%

Wenn Sie so etwas sehen:

%Vor%

Dann sollten Sie turtle.py (und alle entsprechenden turtle.pyc oder turtle.pyo Dateien) in Ihrem aktuellen Arbeitsverzeichnis aus dem Weg räumen.

Wie in den folgenden Kommentaren zu sehen ist, finden Sie eine Fülle von Informationen über ein Modul, einschließlich seines Pfadnamens und Inhalts, indem Sie help() darauf aufrufen. Zum Beispiel:

%Vor%     
Johnsyweb 15.05.2011, 06:58
quelle
13

Umbenennen von turtle.py . Es kollidiert mit dem importierten Modul mit dem gleichen Namen.

Ich habe getestet, dass der Code von dieser Seite in Python 2.6 funktioniert (ohne externe Pakete zu installieren).

Von Ссылка

  

Wenn ein Modul namens spam importiert wird, sucht der Interpreter im aktuellen Verzeichnis nach einer Datei mit dem Namen spam.py und dann in der Liste der Verzeichnisse, die durch die Umgebungsvariable PYTHONPATH angegeben wurden.

So findet der Python-Interpreter Ihre turtle.py -Datei, aber keine Screen -Klasse innerhalb dieser Datei.

Johnsywebs Antwort enthält einige gute Tipps dazu, wie debug diese Art von Problem. Der vielleicht direkteste Weg zu bestimmen, wo sich ein importiertes Modul auf dem Dateisystem befindet, ist die Verwendung von repr(module) oder einfach den Modulnamen an der REPL-Eingabeaufforderung eingeben, z. B .:

%Vor%     
bernie 15.05.2011 06:31
quelle
0

Ein weiteres Problem, auf das Benutzer stoßen können, ist auf ein Installationsproblem auf Linux-Systemen zurückzuführen. Auf meinem Windows-Rechner war 'turtle' einfach da und ich konnte import turtle ohne Probleme. Als ich versucht habe, import turtle in Ubuntu zu finden, hat es das Modul nicht gefunden, also habe ich versucht, es zu installieren.

Als ich sudo pip install turtle gemacht habe, hat es ein Paket 'turtle' installiert, das sich anscheinend sehr unterscheidet: "Turtle ist ein HTTP-Proxy, dessen Zweck es ist, Verbindungen zu bestimmten Hostnamen zu drosseln ...." nicht haben "Bildschirm" oder irgendetwas in Bezug auf eine kleine Zeichnung Schildkröte. So endete ich mit dem gleichen Fehler wie der Benutzer in der Frage von module has no attribute 'Screen' .

Für Ubuntu musste ich Folgendes tun:

%Vor%

Dann, als ich import turtle gemacht habe, wurden alle erwarteten Module gefunden.

    
Taylor 18.10.2016 21:12
quelle

Tags und Links