Наверняка вы замечали, что в 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
Various Artists — Rajasthan Street Music (Sublime Frequencies, 2022)
#traditional#field_recording#tabla#dhol#harmonium#Rajasthan#India
Раджастан (राजस्थान), что значит «страна раджей» — самый большой штат в Индии, расположен на северо-западе страны. Суровыми просторами пустыни Тар он разделен с пакистанскими провинциями Синд и Пенджаб, а на юге граничит с индийским штатом Гуджарат.
Века непрерывных вторжений и жестоких битв, правление скифов, маурьев, сатрапов, гурджаров, моголов, раджпутов и британцев оставили свой след в местном фольклоре. В наши дни, из-за постоянных сбоев в подаче электроэнергии, длительных засух, пересыхающих рек и постоянно наступающего опустынивания, Раджастан остается не самым приветливым местом для жизни. Тяготы прошлого и настоящего наделили народ Раджастана гордым характером, который чувствуется и в музыке штата.
Себ Басслир записал компиляцию Rajasthan Street Music в различных городах, деревнях и отдаленных районах Раджастана в рамках двухмесячного путешествия. Этот сборник не является исчерпывающим фольклорным исследованием или этномузыковедческим проектом. Он скорее представляет музыкальный пейзаж Раджастана середины нулевых, срез звуковой среды за пределами академического подхода к раджастанской музыке.
Bandcamp | Telegram
Shakti — NPR Music Tiny Desk Concert (2023)
#jazz#carnatic#hindustani#tabla#dhol#video#India#United_States
Записав первый за 48 лет альбом This Moment, джаз-фьюжн группа Shakti отправилась в мировое турне и по дороге заскочила на Tiny Desk, чтобы презентавать новое творчество.
Shakti — это группа, созданная английским гитаристом Джоном Маклафлином, индийским скрипачом Л. Шанкаром, перкуссионистами Закиром Хуссейном и Т. Х. «Викку» Винайакрамом в 1973 году. Группа исполняла акустический фьюжн, сочетая индийскую музыку с элементами джаза, перестала существовать в 1978 году, и только в 2020 году собралась вновь в немного измененном составе.
YouTube
Benik Abovian & Zaven Azibekian — Traditional Musicians From Tavush (Maison Des Cultures Du Monde, 2002)
#traditional#field_recording#dhol#duduk#zurna#sring#dam#Armenia
Опираясь на географическое положение Армении и многонациональную историю Кавказа, армянскую народную музыку можно считать частью ближневосточного музыкального наследия. Однако, на протяжении веков армянская музыка находила свое вдохновение в сельских и пастушеских мелодиях, средневековых христианских религиозных монодиях, а также в городских традициях гусанов — бардов сасанидского, парфийского и, конечно, армянского происхождения. Этот путь дал начало глубокой и разнообразной музыкальной культуре, которая сохраняет свой уникальный характер.
Современные армянские народные музыканты гордятся этим разнообразным наследием, которое значительно обогатилось в XIX и XX веках. Период потрясений того времени, в частности, геноцид 1915 года, а также политика урбанизации в советской Армении, способствовали тому, что народная музыка, как сельская, так и городская, была сохранена и увековечена деревенскими музыкантами.
Тавушская область, расположенная на северо-востоке Армении, недалеко от границ с Грузией и Азербайджаном, не является исключением. Как и во многих других регионах Армении, народная музыка здесь до сих пор исполняется в деревнях во время свадеб, фестивалей и похорон.
Последователи древних традиций, гусаны Беник Абовян и Завен Азибекян признаны одними из лучших исполнителей тавушской народной музыки. В 2001 году в деревне Кирантц и городке Ноемберян Николас Бергер записал игру музыкантов для французского Института мировых культур. В течение всего альбома звучат импровизации музыкантов на разнообразных духовых инструментах, таких как зурна, дудук и сринг, сопровождаемые ритмами доула.
🔗Spotify | AppleMusic | Telegram
The Ensemble Of Rahim Takhari — Shirin Dahani / Sweet Lips: Music of North Afghanistan (Pan Records, 1996)
#traditional#rubab#dhol#zerbaghali#ghaychak#dutar#dambura#Afghanistan
«Shirin Dahani», что значит «сладкоголосие», — редкая запись, посвященная музыкальным традициям севера Афганистана. Там эта страна граничит с Таджикистаном и Узбекистаном, поэтому в музыке можно услышать влияние фольклорных традиций этих стран, а персидский элемент представлен ярче, чем на юге. Музыку на этом альбоме исполняет ансамбль Рахима Тахари, певца, исполнителя на дутаре и гайчаке. В его ансамбле также есть рубаб, дамбура, зербагали и дол. Исполнитель на рубабе, кстати, учился у знаменитого Устада Мохаммада Омара. Все песни исполнены на языке дари. Некоторые из них являются положенными на музыку газелями и рубаями, а некоторые — народными произведениями. Часть инструментальных композиций позаимствована из узбекских и пуштунских песен.
Spotify | AppleMusic | Soundcloud