Мы уже знаем, что на текущую сессию интерпретатора изменение PYTHONPATH никак не повлияет. Но если вы запустите дочерний процесс, то он унаследует окружение текущего процесса, а значит и изменения в любых переменных будут на него влиять.
Вот небольшой пример:
Объявляем переменную
user@host:~$ export PYTHONPATH=/path1
Запускаем интерпретатор
user@host:~$ python3
Проверим что в sys.path
>>> import sys
>>> print(sys.path)
['', '/path1', '/usr/lib/...', ...]
Добавляем что-то в переменную
>>> import os
>>> os.emviron['PYTHONPATH'] = '/path1:/path2'
>>> print(sys.path)
['', '/path1', '/usr/lib/...', ...]
Изменений нет. Но давайте запустим дочерний процесс и посмотрим там
>>> os.system('python3')
# теперь мы находимся в другом процессе
>>> import sys
>>> print(sys.path)
['', '/path1', '/path2', '/usr/lib/...', ...]
Тоже самое будет и с subprocess, так как по умолчанию текущее окружение тоже наследуется.
>>> import subprocess
>>> subprocess.call(['python3', '-c', 'import sys;print(sys.path)'])
['', '/path1', '/path2', '/usr/lib/...', ...]
______________________
Лучшей практикой является передача энвайронмента явно через аргумент env!
import subprocess
subprocess.call(cmd, env={'PYTHONPATH': '...'})
Это поможет точно понимать какое окружение будет у запускаемого процесса и при этом не изменять окружение текущего процесса.
#basic
Juan Oñatibia — The Basques: Euzkadi! (Folkways Records, 1954)
#traditional#tun_tun#txistu#basque#Spain
На этой пластинке Хуан Онатибия исполняет традиционные мелодии Страны Басков, или, как говорят сами жители, Эуска́ди. Большая часть композиций является музыкальным сопровождением к танцам, такими как аурреску и эспата-данца.
Композиции на пластинке преимущественно инструментальные. Они исполняются на флейте чисту и небольшом барабане тун-тун, которые вместе образуют своеобразный «баскский оркестр». Обычно на них играет один и тот же музыкант, которого называют чистулари. Помимо инструментальных номеров, в альбом входят и несколько песен без сопровождения. Все произведения на этой записи Хуан Онатибия исполняет самостоятельно.
🔗Spotify | AppleMusic | Telegram
Various Artists — The Archival Recordings of Constantin Brăiloiu (Death Is Not The End, 2024)
#traditional#field_recording#basque#bretton#bulgarian#corsican#ethiopian#flemish#gaelic#georgian#greek#hausa#inuit#irish#italian#kabyle#macedonian#norwegian#romanian#russian#sardinian#sephardic#swiss#tuareg#Brittany#Flanders#Wallonia#Bosnia_and_Herzegovina#Bulgaria#China#England#Ethiopia#France#Georgia#Greece#India#Ireland#Italy#Japan#Macedonia#Norway#Portugal#Romania#Russia#Switzerland#Turkey
Сборник записей пионера румынской этномузыкологии, Константина Браилою. Треки с него впервые прозвучали на радио NTS в июле 2017 года, а в 2024 году лейблDeath Is Not The End выпустил его в формате полноценного альбома в честь своего 10-летия.
Сборник включает полевые записи народных песен и танцев и охватывает музыкальные традиции множества культур: английской, ирландской, гэльской, норвежской, бретонской, японской, итальянской, швейцарской, баскской, сардинской, эстонской, грузинской, греческой, турецкой, сефардской, португальской, французской, китайской, русской, хауса, туарегов, индийской, корсиканской, эфиопской, румынской, валлонской, фламандской, немецкой, кабильской, болгарской, македонской, боснийской и карибу-эскимосской.
Существенная проблема этого релиза заключается в том, что треки не проаннотированы. По этой причине слушателю придется упавать на свою собственную эрудицию и знание языков, чтобы понять, какая композиция принадлежит к какой культуре.
🔗Bandcamp | Telegram