Seite 1 von 1
Was soll das Bedeuten und wie kann ich es beheben.
Verfasst: Mittwoch 19. Juni 2019, 20:12
von JonathanDr8
Guten Tag, ich habe die Fehlermeldung "import * only allowed at module level" erhalten, weiß jemand wie man das beheben kann.
Re: Was soll das Bedeuten und wie kann ich es beheben.
Verfasst: Mittwoch 19. Juni 2019, 20:24
von Sirius3
@JonathanDr8: etwas mehr Kontext wäre schon gut.
Du machst zwei Fehler:
1. *-Importe
2. Importe innerhalb von Funktionen
Alle Importe sollten am Anfang der Datei stehen und nur die Namen enthalten, die Du auch brauchst.
Re: Was soll das Bedeuten und wie kann ich es beheben.
Verfasst: Mittwoch 19. Juni 2019, 20:42
von JonathanDr8
Ich importiere:
"from tkinter import *"
"from random import *" und
die Importe stehen direkt am Anfang der Datei und stehen nicht innerhalb einer Funktion.
Re: Was soll das Bedeuten und wie kann ich es beheben.
Verfasst: Mittwoch 19. Juni 2019, 21:35
von sparrow
Dann würde der Fehler nicht kommen, denn der sagt eindeutig, dass du *-Importe hast, die nicht auf Modulebene sind.
Wie Sirius3 schreibt: Keine *-Importe. Egal welche Eingebung oder welches Buch dir etwas anderes sagt. Damit holst du dir die ganzen Bezeichnungen in deinen lokalen Namaensraum. Das möchtet du nicht. Man importiert tkinter als tk. In deinem Fall also.
Ja, dann funktioniert dein Code nicht mehr. Tut er jetzt aber auch nicht.
Also änder die Stellen ab, wo du Namen aus dem tkinter-Modul benutzt und schreib das entsprechende tk. davor. Ebenso bei random.