Ich habe ein Problem auf OSX, dass #!/usr/bin/env python3
verursacht die Umgebungsvariablen, wie Bibliothek Pfade (LD_LIBRARY_PATH zum Beispiel), verloren gehen. Unter Linux funktioniert es korrekt.Wie benutzt man `env python3` und behält die aufrufende Umgebung bei?
Lesen der Manpage auf env
es scheint nicht, es sollte dies tun. Es sollte nur die Umgebung ändern, wenn ich es anfordere, und ich bin es nicht.
Was ist eine tragbare Shebang-Linie, die die Umwelt schont?
Hinweis: Ich erkenne das Problem, da ein Aufruf an subprocess.open
auf einem meiner Programme fehlschlägt, da es eine der Bibliotheken nicht finden kann. Wenn ich Python interaktiv starte, funktioniert derselbe Aufruf gut.
Egal, nur * bestimmte * env vars in der aktuellen Shell sind in der Tat nicht propagiert es scheint. Ich habe mit einem generischen getestet und das hat funktioniert. –
Dies sollte nur passieren, wenn '-' oder' -i' übergeben werden, durch einfaches Lesen der MacOS-Manpage für 'env'. –
'env env' zum Beispiel zeigt alle Umgebungsvariablen an, die in der inneren Instanz vorhanden sind. –