Was soll das Bedeuten und wie kann ich es beheben.
-
- User
- Beiträge: 14
- Registriert: Mittwoch 6. Februar 2019, 18:23
Guten Tag, ich habe die Fehlermeldung "import * only allowed at module level" erhalten, weiß jemand wie man das beheben kann.
@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.
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.
-
- User
- Beiträge: 14
- Registriert: Mittwoch 6. Februar 2019, 18:23
Ich importiere:
"from tkinter import *"
"from random import *" und
die Importe stehen direkt am Anfang der Datei und stehen nicht innerhalb einer Funktion.
"from tkinter import *"
"from random import *" und
die Importe stehen direkt am Anfang der Datei und stehen nicht innerhalb einer Funktion.
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.
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.
Code: Alles auswählen
import tkinter as tk
import random
Also änder die Stellen ab, wo du Namen aus dem tkinter-Modul benutzt und schreib das entsprechende tk. davor. Ebenso bei random.