Heim >Backend-Entwicklung >Python-Tutorial >Warum gibt Python den Fehler „Relativer Import in Nicht-Paket' aus?
Relative Importe in Python: Den „Nicht-Paket“-Fehler verstehen
Das allgegenwärtige Problem „Versuchter relativer Import in Nicht-Paket“ beruht auf einem Missverständnis der Unterscheidung zwischen Skripten und Modulen und ihrem jeweiligen Verhalten während importieren.
Skript vs. Modul
Wenn eine Python-Datei direkt ausgeführt wird, fungiert sie als Skript der obersten Ebene und erhält den Namen „__main__“. Beim Import wird der Name der Datei zum Paketnamen, gefolgt vom Dateinamen, getrennt durch Punkte.
Relative Importe und Pakete
Relative Importe verwenden den Namen des Moduls, um es zu finden Position innerhalb einer Pakethierarchie. Wenn der Name des Moduls jedoch keine Paketinformationen enthält (z. B. „__main__“), werden relative Importe so aufgelöst, als wäre es ein Modul der obersten Ebene, unabhängig von seinem tatsächlichen Dateispeicherort.
Die „Nicht-Paket“-Fehler
Der Fehler tritt auf, wenn relative Importe innerhalb eines Moduls versucht werden, das nicht als Teil eines Pakets erkannt wird. Dies kann passieren, wenn im Namen des Moduls Punkte fehlen, was auf den Nicht-Paketstatus hinweist.
Lösungen
Um den Fehler zu beheben, ziehen Sie die folgenden Ansätze in Betracht:
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWarum gibt Python den Fehler „Relativer Import in Nicht-Paket' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!