Wenn das Projekt größer wird...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gast

Grüße,

Bei mir ist es mittlerweile so: Ich habe ein Programm. Das benutzt selbst definierte Module. Die liegen in einem Pfad eins hoch, 2 rechts und wieder eins runter...
Außerdem liest es Dateien vom Ort xyz.
Alles in allem bedient es sich mal von hier und mal von dort. Ich kann das zwar zum jetztigen Zeitpunkt noch überschauen, aber ich glaube später würde das dann etwas zu kompliziert werden.

Wie ließe sich das nun alles zusammenfassen? Mir schwebt so was in der Art vor wie halt die Ordnerstruktur von jedem halbwegs normalen Programm. Alles in einem Ordner, ein festgesurrtes Paket.

cu,
qweet
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wie wäre es, einfach alle benötigten Module in einen Ordner zusammenzuwerfen (ggf. noch mit Unterordnern)? Das funktioniert auch bei größeren Projekten wie PyPy recht gut.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi!

Es gibt für diesen Fall natürlich wieder mehrere Wege. Einen den ich gerne gehe ist folgender:

Beim Setup, eines meiner Programme mit mehreren Modulen und Unterordnern, hinterlege ich in einer Umgebungsvariable den Pfad zum Hauptordner des Programms.

Wenn ich von einem anderen Programm aus, auf ein Modul des vorher installierten Programms zugreifen muss, hole ich mir die benötigten Pfade vor dem Importieren in den Python-Pfad.

Code: Alles auswählen

import os
import sys

# Pythonpfad mit dem Pfad zu den Tools erweitern.
gp_sqlrunner_dir = os.environ.get("GPSQLRUNNER_DIR")
sys.path.append(os.path.join(gp_sqlrunner_dir, "tools"))

import getconndata_gdb # Eines der GP-SQLRunner-Tools
import datetimeselect2 # Eines der GP-SQLRunner-Tools
import datetime
So kann ich also von einem neuen Programm aus, die Tools/Module eines anderen, alten Programmes importieren.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Warum benutzt du dabei get() ??? Es reicht doch eigentlich ein os.environ["GPSQLRUNNER_DIR"]

.get() macht doch nur Sinn, wenn du einen Alternativ-Wert haben möchtest, wenn der Key nicht existiert...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

jens hat geschrieben:Warum benutzt du dabei get() ??? Es reicht doch eigentlich ein os.environ["GPSQLRUNNER_DIR"]
Haarspalter... :D :wink:

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten