Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
Быть в тренде этой осенью — быть с Pelican:
🔹 адаптивный дизайн
🔹 природная и цифровая палитра оттенков
🔹 принты: #psychedelic эстетика + ИИ
Покупайте одежду и аксессуары в магазинах Pelican и на маркетплейсах:
Wildberries
Ozon
Детский мир
Lamoda
Спортмастер
Anime : Cyberpunk: Edgerunners & Kimi no Na wa & Kakegurui & Kiznaiver & Monogatari Series & Chainsaw Man & Rebuild of Evangelion & Call of the Night & Darling in the FranXX & Bladerunner "2049" & Oshi no Ko
Music : DEJA VU
#Amv
#Amv_Mix
#Mix
#Psychedelic
#AnimWorld
@Wall_Amv
Где-то Там — Дикий Альбом (Self-released, 2021)
#psychedelic#rock#Russia
Где-то Там — московский семейный тандем двух Саш, сочетающий в своём творчестве психоделический фолк 60-х годов с чукотским шаманским бубном вместо перкуссии и русскую традиционную музыку. Общее впечатление от их дебютного альбома, полностью записанного на аналоговом оборудовании, напоминает работы Жозефа ван Виссема и Джима Джармуша с голландским фольклором, выполненные для фильма «Выживут Только Любовники». Помимо музыки, Саша и Саша заваривают чай из самых разнообразных трав со всех уголков России в своей загородной мастерской «Где-то там».
Spotify | AppleMusic
Anime: 07-ghost, 5 Centimeters per Second, Akagami no Shirayukihime, Citrus, Darling in the Franxx, Death Parade, Bakemonogatari, Nekomonogatari (White), Koyomimonogatairi, Kizumonogatari, Free! Iwatobi Swim Club & Eternal Summer, Nagi No Asukara, Fate/stay Night: Unlimited Blade Works, Kobato, Mahou Tsukai No Yome, Shigatsu mo Kimi mo Uso, Hotarubi mo Mori e, Macross Frontier - Itsuwari No Utahime, Kyoukai no Kanata, Genius Party Beyond, The Garden of Words, Naruto, Koi wa Ameagari no You ni, Kimi no Na wa, Yuri on Ice, Ookami no Kudomo Ame to Yuki, Ef: A Tale of Memories, Hal: The Movie, Sakurako-san no Ashimoto ni wa Shitai ga Umatteiru, Casshern Sins, Me!Me!Me!, Mawaru Penguindrum, Koe no Katachi, Nerawareta Gakuen, Hyouka, Tokyo Ghoul, Devils Line, Sankarea, Valkyrie Drive: Mermaid, Uchiage Hanabi, The Place Promised in Our Early Days
Music: SOPHIE - Infatuation, Helios - First Dream Called Ocean
Awards: Лучшая романтика на AKROSS Con 2018
#Amv
#Amv_Mix
#Mix
#Romance
#Psychedelic
#AnimWorld
@Wall_Amv
Anime: Kizumonogatari, Yofukashi no Uta. Cyberpunk Edgerunners, Tokyo Ghoul, Chainsaw man, Arakawa Under the Bridge .
Music: Grant & Ellis - Dead Man Walking
Awards: 4-ое место в конкурсе Арам 2023
#Amv
#Amv_Mix
#Mix
#Psychedelic
#MEP
#AnimWorld
@Wall_AMV
Spires That In The Sunset Rise — Beasts In The Garden (Self-released, 2015)
#avantfolk#psychedelic#United_States
Седьмой альбом фри-фолк группы с американского среднего запада Spires That In The Sunset Rise. Опираясь на экспериментальную музыку и традиционную музыку разынх культур, они создали запоминающееся индивидуальное звучание. Beasts In The Garden был записан после долгих упражнений в импровизации с джазовыми музыкантами Чикаго, Милуоки и Мэдисона. Перед вами гипнотизирующий звуковой коллаж, выполненный из звуков голоса, флейты и саксфона. При оформлении обложки был использован французский гобелен конца 15 или начала 16 века, иллюстрирующий миф о Нарциссе.
Spotify | AppleMusic | Bandcamp
Anime: Kizumonogatari, Yofukashi no Uta. Cyberpunk Edgerunners, Tokyo Ghoul, Chainsaw man, Arakawa Under the Bridge .
Music: Grant & Ellis - Dead Man Walking
Awards: 4-ое место в конкурсе Арам 2023
#Amv
#Amv_Mix
#Mix
#Psychedelic
#MEP
#Full_HD
#AnimWorld
@Wall_AMV