Hey!
Ich versuche gerade mein Python Projekt zu strukturieren (arbeite noch nicht allzu lange mit Python).
Beispielhaft möchte ich folgender Ordnerstruktur annehmen:
OrdnerA
file1.py
file2.py
OrdnerB
file3.py
file4.py
Bis jetzt habe ich beim Importieren von Funktionen aus anderen files nie Probleme gehabt, da immer alle Files im gleichen Ordner waren.
Wär super, wenn mir jemand erklären könnte (oder Link zu einer simplen Erklärung), wie die Module (und vor allem wenn diese in unterschiedlichen Ordnern liegen) in Python aufgebaut sind + was hat es mit __init__.py files auf sich.
Vielen Dank und liebe Grüße!
Eigene Module importieren
Man kopiert nicht einfach irgendwelche Dateien in den Ordner der Python-Installation.Drezael hat geschrieben:wenn du deine Datein öfters und auch für andere Projekte benötigst könntest du diese in den Python Ordner kopieren.
@Drezael:
Dein Vorgehen mag funktionieren, ist aber eher unschön. Die saubere Lösung wäre das Erstellen einer setup.py für dein Projekt und die anschließende Installation via ``python setup.py install`` als Befehl von der Kommandozeile.
Oder noch bequemer: ``pip install -e .`` aus dem Projektordner. Damit werden Änderungen am eigenen Projekt sofort für die lokale Installation übernommen, ohne dass jedes Mal erneut installiert werden muss. Genau genommen handelt es sich dabei um eine "virtuelle" Installation (siehe Doku für ``pip install -e`` bzw Doku für ``setup.py develop``).
Dein Vorgehen mag funktionieren, ist aber eher unschön. Die saubere Lösung wäre das Erstellen einer setup.py für dein Projekt und die anschließende Installation via ``python setup.py install`` als Befehl von der Kommandozeile.
Oder noch bequemer: ``pip install -e .`` aus dem Projektordner. Damit werden Änderungen am eigenen Projekt sofort für die lokale Installation übernommen, ohne dass jedes Mal erneut installiert werden muss. Genau genommen handelt es sich dabei um eine "virtuelle" Installation (siehe Doku für ``pip install -e`` bzw Doku für ``setup.py develop``).