, n, n . , GUI . , , - .
:
Python
env Popen():
env None, , ; , .
, app1.sh, app2.sh, app3.sh .. Python , Popen(), :
env_vars = {
1: {
'DIR': '/some/location/',
'LICENSE': '/some/license/'
'SOMEVAR': 'some value'
},
2: ...
}
...
environ_copy = dict(os.environ)
environ_copy.update(env_vars[n])
subprocess.Popen('external_application', shell=True, env=environ_copy, ...)
script
vars , , - - , .
:
#!/usr/bin/env bash
if source "$1"; then
external_app
else
echo "Error executing $1" 2>/dev/stderr
exit 1
fi
app1.sh script, - n. , & - Popen , Python. subprocess.PIPE Popen.communicate(), 'stdout stderr.
external_process (.. ), , , . :
subprocess.Popen('external_command', '/some/location/', '/some/license/', 'some value')
shell=True script . external_command , --flags (, --dir /some/location/) . ( ), ; Python argparse .
, external_process , . , .