currentPath = os.environ['PATH']
myPath = "/auto/sw/packages/bin"
match = re.search(myPath, currentPath)
if match is not None:
print 'PATH '+ match.group(0)+ 'FOUND'
else:
os.environ['PATH'] = os.environ['PATH'] + myPath
print 'SET PATH: ' + os.environ['PATH']
В моем предыдущем коде выход SET PATH печатается правильно, но не меняет действительную переменную PATH, когда я проверяю использование «echo $ PATH». Что я здесь делаю неправильно? Быстрая помощь будет высоко оценена.Настройка переменных среды с использованием Python
возможно дубликат [Как установить переменные окружения в Python] (http://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python) – BartoszKP
Вы пытаетесь 'echo $ PATH' в вашей оболочке после выхода из сценария Python? Если это так, просто невозможно изменить переменные среды таким образом. Вы можете изменить переменные среды в текущей области и в подпроцессах, но вы не можете изменить среду внешнего процесса/вызова. Изменения окружения распространяются только вниз, а ваш код Python работает в подпроцессе, выкованном из вызывающего процесса/внешней оболочки. –
Да. Но я хочу изменить PATH из сценария. Должен быть какой-то способ сделать это. Я отправлю здесь, если мне это удастся. –