Setzen von $PATH in Linux

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
Clython
User
Beiträge: 151
Registriert: Samstag 21. August 2004, 13:58
Wohnort: Schweiz, BE-2500

Hallo liebe Leute

ich müsste für ein Script die Variable $PATH neu setzen, damit gewisse Programm gefunden werden. Leider funktioniert das mit meinen Methoden nicht. Was mache ich falsch?

Code: Alles auswählen

newpath = "export PATH=" + newsyspath
print newpath
os.popen(newpath) # geht nicht
os.system(newpath) # geht nicht
Wenn ich danach im Script selber oder direkt auf der Shell nach Ausführung des Scripts "echo $PATH" mache, ist PATH immer noch gleich...

Für einen Hinweis wäre ich dankbar...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Clython hat geschrieben:ich müsste für ein Script die Variable $PATH neu setzen, damit gewisse Programm gefunden werden. Leider funktioniert das mit meinen Methoden nicht. Was mache ich falsch?
Hi Clython!

Umgebungsvariablen werden vom Eltern-Prozess an Kind-Prozesse vererbt. Wenn du zwei Konsolen auf machst und in einer dieser Konsolen den Pfad veränderst, dann bekommt die zweite Konsole nichts davon mit.

Wenn du in einem Kind-Prozess eine Umgebungsvariable veränderst, dann wird der Eltern-Prozess nichts davon mit bekommen. Das ist der Grund.

Suche eine andere Möglichkeit, den Pfad deines Programmes dem aufrufenden Programm bekannt zu machen.

Du könntest ja den Pfad zum gewünschten Programm in eine eigene, dauerhafte Umgebungsvariable legen oder muss es unbedingt die Pfad-Variable sein? Die ist doch eh meistens total überfüllt.

Unter Windows, hinterlege ich z.B. beim Installieren eines Programmes eine Umgebungsvariable mit dem Root-Pfad des Programmes als Umgebungsvariable. Diese kann ich dann verwenden, wenn ich von einem anderen Python-Programm aus das installierte Programm als Modul importieren möchte. Wenn du wissen willst, wie man eine Umgebungsvariable unter Windows setzt, dann hinterlege ich das Skript hier. Für Linux habe ich das noch nicht gebraucht.

Hier noch ein Link: http://www.python-forum.de/post-26043.html#26043

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