Ich hab das Problem mal so gelöst, daß ich eine zweite Umgebungsvariable
setze, wenn mein Program den LD_LIBRARY_PATH bereits geändert hat.
Ist LD_LIBRARY_PATH noch nicht verändert worden, verwende ich os.execv um das Program gleich nochmal zu starten.
Das ganze sieht bei mir - am Ende vom Startskript - so aus:
Code: Alles auswählen
import sys
from os import environ, execv
if environ.get( "PYDYNPACK_ENV" ) != "SET":
environ[ "LD_LIBRARY_PATH" ] = abspath( "somepath" )
environ[ "PYDYNPACK_ENV" ] = "SET"
execv( sys.argv[ 0 ], sys.argv )
del sys, environ, execv