Что делать если нужно поставить какую-то Python-библиотеку а root-прав нет? То есть в систему библиотеку никак и ничего не поставить.
Есть как минимум два способа это решить правильно!
🔸 Сделать виртуальное окружение и ставить там что угодно.
Это позволит создать полностью независимое исполняемое окружение для ваших приложений.
Все библиотеки будут храниться в домашней директории юзера а значит доступ на запись имеется.
Создать очень просто:
python3 -m venv ~/venvs/myenvname
Теперь активируем окружение
# Linux
source ~/venvs/myenvname/bin/activate
# Windows
%userprofile%\venvs\myenvname\Scripts\activate.bat
Можно ставить любые библиотеки и запускать приложение.
Это стандартный метод работы с любым проектом. Если еще не используете его, то пора начинать. Даже при наличии root доступа!
🔸 Бывает, что нет возможности запустить приложение из своего виртуального окружения. Например, его запускает какой-то сервис от вашего юзера и вставить активацию окружения вы не можете.
В этом случае можно установить библиотеки для Python не глобально в систему, а только для юзера.
Выполните этот код в консоли:
python3 -m site
Вы получите что-то такое:
sys.path = [
'/home/user',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/user/.local/lib/python3.7/site-packages',
...
]
USER_BASE: '/home/user/.local'
USER_SITE: '/home/user/.local/lib/python3.7/site-packages'
ENABLE_USER_SITE: True
Нас интересует параметр USER_SITE. Это путь к пользовательским библиотекам, которые доступны по умолчанию, если они есть.
Именно сюда будут устанавливаться модули если добавить флаг --user при установке чего-либо через pip
pip install --user requests
Для этой команды не нужны root-права.
После неё можно запускать системный интерпретатор без виртуальных окружений и установленная библиотека будет доступна для текущего юзера.
Параметр USER_BASE показывает корневую директорию для хранения user-библиотек. Её можно изменить с помощью переменной окружения PYTHONUSERBASE
export PYTHONUSERBASE=~/pylibs
python3 -m site
...
USER_BASE: '/home/user/pylibs'
USER_SITE: '/home/user/pylibs/lib/python3.7/site-packages'
Получается некоторое подобие виртуального окружения для бедных 😁 которое можно менять через эту переменную (не делайте так!Лучше venv!)
🔸 Дописывание пути в PYTHONPATH
Этот способ не входит в список "двух правильных", но тоже рабочий. Здесь придётся сделать всё несколько сложней.
Сначала ставим библиотеку в любое место указывая путь установки
pip3 install -t ~/mylibs modulename
Библиотека установится без привязки к какому-либо интерпретатору. То есть по умолчанию не будет видна. Теперь в нужный момент добавляем этот путь в sys.path или в PYTHONPATH.
Не буду советовать так делать. Единственный раз когда этот способ мне пригодился и решил поставленную задачу, это при создании общей библиотеки для кластера компьютеров.
Модули лежат в сети и подгружаются для всех из одного и того же места. То есть обновлять файлы требуется только один раз а не на всех хосты отдельно.
Минусы такого подхода:
▫️Нужно всем хостам пробить нужный путь в .bashrc или ещё куда-то чтобы он сетапился на старте.
▫️Чем больше хостов тем больше нагрузка на сеть. Иногда такой способ не подходит именно по этой причине. Тогда Ansible вам в помощь.
▫️Не очень подходит если хосты с разными операционками. Некоторые библиотеки различаются для Linux и Windows (там, где есть бинарники) и приходится мудрить более сложные схемы.
#tricks#basic
Ameer Ali Khan — Ustad Ameer Ali Khan aur Humnava Live at Dream Journey (The Dream Journey, 2021)
#qawwali#hindustani#Pakistan
Одна из самых известных записей проекта The Dream Journey, авторы которого путешествуют по Пакистану и записывают традиционную музыку в полевых условиях. В этой работе принял участие исполнитель каввали Устад Амир Али Хан аур Хумнава. Про Амира Али Хана почти ничего не известно в англоязычной сети, но вот один из авторов Medium.com, Ковид Рати, считает, что Али Хан использует мурки (что-то похожее на мордент в индийском пении) чуть ли не лучше всех певцов каввали когда-либо записанных. Выступление Али Хана проходило в доме покойного певца в Дипалпуре, Пакистан, в 2014 году. The Dream Journey выложили фрагменты концерта на свой YouTube-канал, но полную запись опубликовали только в 2021 году.
Spotify | AppleMusic
Nusrat Fateh Ali Khan — Chain of Light (Real World Records, 2024)
#traditional#qawwali#sufi#Pakistan
Chain of Light был записан, пожалуй, самым известным исполнителем каввали Нусратом Фатехом Али Ханом в 1990 году. Это случилось ещё до того, как он начал экспериментировать с фьюжном и отходить от строго традиционного звучания. Записать эту пластинку ему помогли его друзья и родственники — гармонист Фаррух Фатех Али Хан, таблист Дилдар Хуссейн и и хоровая группа, в которую входили Муджахид Али, Рехмат Али, Рахат Фатех Али Хан, Асад Али, Халид Махмуд, Гулам Фарид Сабри.
Альбом никогда официально не издавался и остался бы неизвестным, если бы в 2021 году его не обнаружили сотрудники Real World Records Одхран Муллан во время каталогизации архива лейбла. В дальнейшем записи были отцифрованы, отреставрированы и выпущены как посмертный альбом Нусрата Фатеха Али Хана.
Альбом открывает композиция Ya Allah Ya Rehman (یا اللہ یا رحمان). Её название переводится как «О, Аллах! О, Милостивый!». Это очень известное суфийское произведение, встречающееся в репертуаре многих исполнителей каввали.
Вторая композиция — Aaj Sik Mitran Di (آج سک مطران دی) — популярная народная песня из Пенджаба. С пенджаби её название переводится примерно как «Сегодня речь о друзьях», но в суфийской интерпретации «митры» могут означать духовных товарищей, наставников или даже самого Бога как друга.
Особняком стоит Ya Gaus Ya Meeran (یا غوث یا میراں), ранее никогда не исполнявшаяся Али Ханом. Её название означает «О, Спаситель! О, Господин!» и, скорее всего, является посвящением суфийскому святому Шейху Абдул-Кадиру Джилани. Композиция выделяется сложной мелодией и ритмическими переходами. Её исполнение демонстрирует способность музыкантов экспериментировать даже в рамках консервативной традиции каввали, не прибегая к несвойственным этому стилю художественным средствам.
Завершающая запись называется Khabaram Raseed Imshab (خبرم رسید امشب). Это произведение также входит в репертуар многих исполнителей каввали. Её название переводится как «Мне пришла весть этой ночью» и представляет собой положенную на музыку поэму известного суфийского поэта Джалал ад-Дина Руми.
В отличие от более поздних альбомов Нусрата, таких какMustt Mustt (1990) и Night Song (1996), которые адаптировали каввали для западной аудитории с использованием современных звуков и инструментов, Chain of Light остаётся верным традициям. Переоткрытый спустя десятилетия после смерти Нусрата, альбом фиксирует момент, когда его творчество было сосредоточено на сохранении и развитии духовной сути каввали.
🔗 Spotify | AppleMusic | Bandcamp | YouTube
Arooj Aftab — Night Reign (Verve, 2024)
#hindustani#qawwali#sufi#bebop#Pakistan
Night Reign — четвёртая студийная работа пакистанской певцы Арудж Афтаб. Альбом сочетает в себе элементы пакистанской народной музыки и американского бибопа.
Арудж Афтаб описывает ночь как «главную героиню» альбома, смещая фокус с традиционного образа луны. Темы ночи и тьмы вдохновлёны поэзией Мах-лака Чанды, первой женщины-поэтессы, опубликовавшей сборник стихотворений (диван) на языке урду. Композиции Na Gul и Saaqi — положенные на музыку сихотворения Чанды.
🔗Spotify | AppleMusic | Bandcamp
The Ahmad Sham Sufi Qawwali Group — Introducing Ahmad Sham Sufi Qawwali Group (World Music Network, 2013)
#qawwali#sufi#harmonium#tabla#bansuri#Afghanistan
В XIII веке в Индии суфийАмир Хосров из ордена Чиштия объединил персидское, арабское, турецкое и индийское наследие духовных песнопений и создал традицию, которая сегодня известна как каввали. Aнсамбль Ахмада Шама — один из самых уважаемых коллективов, исполняющих каввали в Афганистане. Эта страна является одним из центров суфизма, для многих направлений которого музыка — важный элемент духовных ритуалов. Несколько самых прославленных суфийских святых были выходцами из современного Афганистана. Прежде всего поэт Руми родился в 1207 году в Балхе. В 2013 году Ахмад Шам записал со своим коллективом единственную пластинку на западном лейбле, но судя по тому, что в сети время от времени появляются записи его выступлений, он жив, здоров и продолжает практиковать свое искусство.
Spotify | AppleMusic | Telegram