Heim >Backend-Entwicklung >Python-Tutorial >\'ModuleNotFoundError: Kein Modul namens x\': Warum schlagen meine relativen Importe in Python 3 fehl?

\'ModuleNotFoundError: Kein Modul namens x\': Warum schlagen meine relativen Importe in Python 3 fehl?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 04:26:02427Durchsuche

Relative Importe und „ModuleNotFoundError: Kein Modul namens x“

In Python 3 werden relative Importe verwendet, um Module innerhalb eines Pakets zu importieren. Wenn Sie jedoch beim Versuch, einen relativen Import durchzuführen, auf die Fehlermeldung „ModuleNotFoundError: Kein Modul mit dem Namen x“ stoßen, weist dies auf ein Problem mit der Struktur Ihres Pakets oder der Art und Weise hin, wie Sie das Modul importieren.

Relative Importe in Python 3

Relative Importe ermöglichen Ihnen den Import von Modulen, die Teil desselben Pakets wie das aktuelle Modul sind. Dazu stellen Sie der Importanweisung einen Punkt (.) voran, um anzuzeigen, dass Sie aus dem aktuellen Verzeichnis importieren. Zum Beispiel:

<code class="python">from . import config</code>

ModuleNotFoundError-Ausnahme

Die Ausnahme „ModuleNotFoundError“ tritt auf, wenn Python ein Modul, das Sie importieren möchten, nicht finden kann. Dies kann verschiedene Gründe haben, darunter:

  • Modul existiert nicht:Das Modul, das Sie importieren möchten, existiert nicht im angegebenen Pfad.
  • Falscher Modulpfad:Der in der Importanweisung angegebene Importpfad ist falsch.
  • Datei ist kein Python-Modul:Die Datei, die Sie importieren möchten, ist kein Python-Modul ein gültiges Python-Modul (z. B. enthält es nicht den entsprechenden Python-Code).

Fehlerbehebung bei relativen Importen

Um das Problem „Kein Modul mit dem Namen x "Fehler beim Versuch eines relativen Imports:

  1. Modulexistenz überprüfen:Stellen Sie sicher, dass das Modul, das Sie importieren möchten, im selben Verzeichnis wie Ihr aktuelles Modul vorhanden ist.
  2. Importpfad prüfen:Stellen Sie sicher, dass der relative Importpfad korrekt ist. Überprüfen Sie noch einmal die Struktur Ihres Pakets und den Speicherort des Moduls, das Sie importieren möchten.
  3. Absolute Importe verwenden: Wenn Sie das Problem mit relativen Importen nicht lösen können, sollten Sie die Verwendung von Absoluten in Betracht ziehen Importe, die den vollständigen Pfad zu dem Modul angeben, das Sie importieren möchten. Zum Beispiel:
<code class="python">import <package_name>.config</code>

Relative Importe mit Hauptmodul

Beachten Sie, dass relative Importe aus dem nicht zulässig sind main Modul, das ausgeführt wird, wenn ein Python-Skript direkt ausgeführt wird. In diesem Fall müssen Sie absolute Importe verwenden, um auf Module in Ihrem Paket zu verweisen.

Das obige ist der detaillierte Inhalt von\'ModuleNotFoundError: Kein Modul namens x\': Warum schlagen meine relativen Importe in Python 3 fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn