Heim > Artikel > Backend-Entwicklung > Hier sind einige fragenbasierte Titel, die zum Inhalt des Artikels passen: * \"ModuleNotFoundError: Kein Modul mit dem Namen \'x\' – Warum erhalte ich diesen Fehler in Python 3?\" * „Warum kann ich kein Impo durchführen?“
Relative Importe in Python 3: Fehlerbehebung bei ModuleNotFoundError
In Python 3 ermöglichen relative Importe den Import von Modulen innerhalb desselben Pakets. Wenn jedoch der Fehler „ModuleNotFoundError: Kein Modul namens ‚x‘“ auftritt, ist es wichtig, den Unterschied zwischen relativen und absoluten Importen zu verstehen.
Absolute Importe
Absolute Importe Suchen Sie Module im sys.path, der Liste der Verzeichnisse, die Python nach Modulen durchsucht. Um einen absoluten Import durchzuführen, verwenden Sie die folgende Syntax:
<code class="python">import module</code>
In Ihrem Beispiel würde der absolute Import von config.py so aussehen:
<code class="python">import config</code>
Relative Importe
Relative Importe importieren Module relativ zur aktuellen Modulposition innerhalb eines Pakets. Um einen relativen Import durchzuführen, verwenden Sie die folgende Syntax:
<code class="python">from . import module</code>
Relative Importe erfordern jedoch, dass sich das Modul innerhalb eines Pakets befindet. Wenn test.py nicht in einem Paket enthalten ist, funktioniert ein relativer Import nicht.
Fehlerbehebung
Basierend auf dem bereitgestellten Code besteht das Problem darin, dass test.py vorhanden ist Es wird versucht, einen relativen Import durchzuführen, wenn es nicht Teil eines Pakets ist. Die Fehlermeldung „ImportError: Name 'config' kann nicht importiert werden“ weist darauf hin, dass das Konfigurationsmodul nicht im relativen Pfad gefunden werden kann.
Lösung
Um dieses Problem zu beheben, Sie können test.py zu einem Teil eines Pakets machen, indem Sie eine __init__.py-Datei im selben Verzeichnis wie test.py hinzufügen. Alternativ können Sie den absoluten Import wie folgt verwenden:
<code class="python">import config</code>
Dadurch wird im sys.path nach config.py gesucht, um sicherzustellen, dass der Import wie vorgesehen funktioniert.
Das obige ist der detaillierte Inhalt vonHier sind einige fragenbasierte Titel, die zum Inhalt des Artikels passen: * \"ModuleNotFoundError: Kein Modul mit dem Namen \'x\' – Warum erhalte ich diesen Fehler in Python 3?\" * „Warum kann ich kein Impo durchführen?“. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!