Was soll das Bedeuten und wie kann ich es beheben.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JonathanDr8
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.
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

@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.
JonathanDr8
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.
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

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.

Code: Alles auswählen

import tkinter as tk
import random
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.
Antworten