Wie Python seine Module findet
Streng genommen ist ein Modul eine einzelne Python-Datei, während ein Paket ein Ordner ist, der Python-Dateien zusammen mit einer (möglicherweise leeren) Datei mit dem Namen enthält __init__.py
, um Python mitzuteilen, dass es ein Paket ist, aus dem Module importiert werden sollen. In beiden Fällen benötigen Module ihre .py
Erweiterung, der Import erfolgt jedoch ohne (siehe weiter unten).
Standardmäßig sucht Python nach seinen Modulen und Paketen in $PYTHONPATH
.
Um herauszufinden, was in $ PYTHONPATH enthalten ist, führen Sie den folgenden Code in python (3) aus:
import sys
print(sys.path)
So fügen Sie ein Verzeichnis hinzu
Gelegentlich
In einer Python-Datei können Sie gelegentlich Pfade zum Standardpfad hinzufügen, indem Sie die folgenden Zeilen im head-Abschnitt Ihrer Python-Anwendung oder Ihres Skripts einfügen:
import sys
sys.path.insert(0, "/path/to/your/package_or_module")
Zum Beispiel:
Wenn ich einen Ordner: habe /home/myname/pythonfiles
und die Datei module_1.py
in diesem Verzeichnis importieren möchte , füge ich Folgendes zum Kopfteil meines Codes hinzu:
import sys
sys.path.insert(0, "/home/myname/pythonfiles")
Und ich kann die Datei einfach importieren module_1.py
:
import module_1
Wenn ich ein Paket erstelle und Module aus dem Paket importieren möchte, muss ich einen Ordner erstellen $PYTHONPATH
, in dem die Module enthalten sind, zusammen mit einer (möglicherweise leeren) Datei, die aufgerufen wird__init__.py
Zum Beispiel:
So importiert aus einem Paket (Ordner) genannt my_package
in /home/myname/pythonfiles
, fügen Sie den /home/myname/pythonfiles
Pfad zu Ihrem $PYTHONPATH
, wie in Beispiel 1, und das Modul importieren genannt module_2.py
(im Paketordner) einfach mit: `
from <packagename> import module_2
Verzeichnisse $PYTHONPATH
dauerhaft hinzufügen :
Fügen Sie Ihrer ~/.profile
Datei die folgende Zeile hinzu .
export PYTHONPATH=$PYTHONPATH:/path/you/want/to/add
Unterverzeichnisse
Innerhalb eines Pakets werden Unterverzeichnisse nicht einfach so eingeschlossen. Sie müssen die Verzeichnisse "verketten". So importieren Sie ein Modul module_3.py
innerhalb eines Ordners subfolder
innerhalb eines Ordners packagename
:
import packagename.subfolder.module_3
Angesichts der Tatsache, dass alle Unterordner im Paket ihre eigene __init__.py
Datei enthalten.
Wenn sich ein Modul im selben Verzeichnis wie das Skript oder die Anwendung befindet
Es ist nicht erforderlich, den Pfad zu einem Modul einzufügen, wenn es sich im selben Verzeichnis befindet wie das Skript oder die Anwendung. Es wird automatisch hinzugefügt.
Beispiel:
Wenn ich einen Ordner mit script.py
und habe module.py
, kann ich das Modul einfach wie folgt importieren:
import module
__init__.py
Datei in Ihrem Ordner? Auf diese Weise erstellt Python Pakete und ermöglicht es Ihnen, Module aus diesem Paket zu importieren. guide.python-distribute.org/creation.html