In Linux Wenn ich Python von der Shell aufrufen repliziert es seine Umgebung und startet den Python-Prozess. Deshalb, wenn ich so etwas wie das folgende tun:Ist es möglich, die Umgebung eines Elternprozesses in Python zu ändern?
import os
os.environ["FOO"] = "A_Value"
Wenn die Python-Prozess kehrt, FOO, vorausgesetzt, es war nicht definiert ursprünglich, noch nicht definiert werden. Gibt es eine Möglichkeit für den Python-Prozess (oder einen untergeordneten Prozess), die Umgebung seines übergeordneten Prozesses zu ändern?
Ich weiß, dass Sie in der Regel dieses Problem lösen, mit so etwas wie
source script_name.sh
Aber diese Konflikte mit anderen Anforderungen habe ich.
Sehen Sie diese ähnliche Frage: http://stackoverflow.com/questions/205064/is-there-a-way-to-change-another-processs-environment-variables – Davide
Andrew aus diesem Thread beantwortet: Via gdb: (GDB) befestigen process_id (GDB) Aufruf putenv ("env_var_name = env_var_value") (GDB) löst Dies ist ein ganz gemeiner Hack und soll nur im Zusammenhang mit einem Debug-Szenario durchgeführt werden, natürlich . – grieve