В оболочке Ubuntu bash я могу установить переменную среды из файла .env с помощью командной строки «source» (пример: source $OCSSWROOT/OCSSW_bash.env
).
Но source
не является функцией в Python.
Итак, как установить переменную окружения из файла .env в python?
'l2gen' - это программа командной строки SeaDAS, которая поддерживается НАСА для обработки данных со спутников океана. Я могу запустить его в оболочке bash. теперь больше программ нужно кодировать с помощью скрипта Python, а 'l2gen' - это программа.
Но переменная окружения должна быть снова установлена в скрипте Python.
Согласно результатам поиска Google, я нашел какой-то метод для установки переменной окружения в python. Но не хватает информации о файле .env.
в оболочке Linux bash я устанавливаю переменную окружения с помощью vim и source:
vim .profile
export OCSSWROOT=[SeaDAS_install_dir]/ocssw (adding this in the profile
file and then save/exit)
source $OCSSWROOT/OCSSW_bash.env
где: SeaDAS_install_dir - каталог, в который я установил программное обеспечение SeaDAS.
Я пытаюсь добавить переменную среды следующим образом:
import subprocess
if __name__=='__main__':
l2cmdtest = 'l2gen -h'
new_env = os.environ.copy()
new_env['OCSSWROOT'] = '/usr/local/seadas-7.5.3/ocssw'
new_env['OCSSWROOT'] = 'OCSSWROOT/OCSSW_bash.env'
eturnCodetest = subprocess.call(l2cmdtest, shell=True)
где: 'l2gen -h' - программа, которая может работать в оболочке bash.
выполнение скрипта Python, а затем ошибка:
/bin/sh: 1: l2gen: not found