У меня есть небольшое приложение Python, запущенное через subprocess.Popen, которое принимает некоторые параметры в виде переменных среды. Я делаю это, передавая структуру среды в вызов Popen. Затем программа считывает переменные через os.getenv.
Или, скорее, он читал их таким образом. В Windows это работало нормально. Но на наших серверах FreeBSD os.getenv возвращает None для всех параметров, которые мы передали. Нечетная часть состоит в том, что os.environ имеет значения просто fine &mdash и, действительно, просто переключает все вызовы os.getenv('foo') на os.environ['foo'] заставило все работать отлично на обеих платформах.
Почему эти значения разные? Когда один соответствует другому?