os.getenv возвращает None вместо правильного значения

У меня есть сложная программа, которую я не могу опубликовать, и у меня нет конкретного рабочего примера. Я попытаюсь объяснить проблему, возможно, кто-то столкнулся с этим раньше.

На оболочке LINUX я определил переменную окружения:

> export MY_TEST_ENV=4711 > echo $MY_TEST_ENV > 4711 

Внутри сложного кода я хочу получить эту переменную с

 print os.getenv('MY_TEST_ENV') 

который всегда возвращает None . Если я создаю тестовый скрипт для проверки этого поведения, даже с классами в разных файлах, я всегда получаю желаемое поведение (т.е. os.getenv('MY_TEST_ENV') возвращает правильное значение 4711 ).

Код запускается как 'sudo'.

Какие идеи могут быть причиной?

One Solution collect form web for “os.getenv возвращает None вместо правильного значения”

Скорее всего, способ, которым вы вызываете процесс Python, заставляет вас потерять среду. Если вы экспортируете переменную в запущенную оболочку, и сразу после этого вызовите рассматриваемый процесс Python в той же оболочке, эта переменная среды обязательно должна быть доступна для этого процесса Python. Чтобы помочь вам отладить эту проблему: вместо рассматриваемого кода ( print os.getenv('my...') ), распечатайте всю среду с помощью print os.environ . Из результата вы сможете сделать вывод о том, что произошло с вашей средой.

  • Правильно ли это запустить сценарий оболочки внутри Python?
  • Уведомление о подключении к «Ethernet-кабелю» в Linux
  • Пытается имитировать постоянный байт. Путаница с результатами time.sleep
  • Как определить, установлены ли iODBC, unixODBC (или ни один)?
  • Запуск обоих python 2.6 и 3.1 на одном компьютере
  • Невозможно убить скрипт Python с помощью Ctrl-C
  • Чтение содержимого RAR-файла в память в Python
  • скомпилировать скрипт python в linux
  • Попробуйте запустить драйвер chrome на linux с помощью selenium webdriver
  • Как установить pysqlite?
  • Проблемы с добавлением пути и вызова внешней программы из Python
  •  
    Interesting Posts for Van-Lav

    Python: отображение времени в другом часовом поясе

    Как я могу напечатать строку с помощью .format () и скопировать фигурные скобки буквально вокруг моей замененной строки

    Как использовать функцию lesssq из scipy.optimize в python, чтобы поместить как прямую линию, так и квадратичную линию в наборы данных x и y

    wxPython не будет закрывать Frame с родителем, который является дескриптором окна

    Как показать изображение PIL в ноутбуке ipython

    Замените символ ошибкой обратной косой черты – Python

    Python – рекурсивный список сумм

    Почему Python не выходит из повышенного исключения при выполнении с абсолютным путем?

    как выполнить стабильное обнаружение угла глаз?

    Двукратная бесплатная ошибка Python для огромных наборов данных

    AppEngine: хранилище данных запроса для записей с <отсутствующим> значением

    Невозможно выполнить сбор

    Как настроить скрипты Python для работы в Apache 2.0?

    Компоненты, подключенные к Python

    Python: вызов функции из импортированного файла

    Python - лучший язык программирования в мире.