Что делать если нужно поставить какую-то 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
Orchestre el Ânq (اركسترا العنق) — Chaâbi Sweet Spot (Sawt el Ânq, 1980-s)
#traditional#chaabi#Morocco
В конце 1980-х лейбл Sawt el Ânq (انتاج صوت العنق) выпустил эту малоизвестную пластинку марокканского коллектива, скорее всего происходящего из Касабланки. Коллектив исполняет чааби — стиль народной музыки Северной Африки, который можно услышать в кафе и ресторанах, во время свадеб и фестивалей. В палитре инструментов, используемых в этом стиле, встречаются как традиционные инструменты, струнные и дарбука, так и более современные инструменты, электрогитара и электроорган.
YouTube | Telegram | VK
Various Artists — Born in the City of Tanta (Sublime Frequencies, 2025)
#traditional#chaabi#oud#Egypt
Популярная музыка Египта большую часть XX века жила по строгим правилам. Это была тщательно выверенная форма искусства, укоренённая в традиции, одобренная высшими классами египетского общества, иногда осторожно приоткрывавшаяся к неарабским влияниям. Её создавали профессиональные музыканты внутри устойчивой индустрии, центром которой был Каир — шумный, космополитичный, уверенный в своём культурном авторитете город.
Но стоило отъехать от этого центра — в сторону Танты и дальше, по направлению к ливийской границе, — и картина резко менялась. Здесь десятки артистов работали в жанре шааби — музыке, особенно популярной среди рабочего класса.
Египетский мейнстрим — с фигурами масштаба Умм Кульсум и Абдель Халима Хафеза — стремился к репрезентации «высокой» культуры в её наиболее рафинированной форме. Шааби звучал иначе. Это была музыка повседневности: неотполированная, живая, иногда грубоватая. Соответственно, поддерживали этот стиль не музыкальные институты и крупные звукозаписывающие компании, а россыпь малоизвестных лейблов.
Один из них — Astuanat al-Bourini (اسطونات البوريني), или Bourini Records — был основан в конце 1960-х в Бенгази, Ливия. В период с 1968 по 1975 год он выпустил около пятидесяти пластинок, музыка на большей части которых была исполнена египетскими музыкантами. Компиляция Born in the City of Tanta как раз посвящена самым ярким записям этого лейбла — тем самым голосам, которые никогда не попадали в официальные списки «заслуженных исполнителей» египетской музыки.
🔗Bandcamp | Telegram
🇩🇿🇩🇿Хадж Мхаммад Л'анка — отец Шааби песни
Сегодня исполнилось 46 лет со дня его смерти. Думаю, это подходящий момент, чтобы поговорить об отце алжирской песни в жанре "Шааби". Кажется, каждый, кто хоть раз бывал в Касбе Алжира, видел его изображения на стенах.
🎸Пионер жанра Шааби песни и один из величайших алжирских композиторов. Он также воспитал несколько поколений алжирских артистов. Его настоящее имя — Мхаммад Идир Айт Араб, он родился в Касбе 20 мая 1907 года. Он из простой семьи, корни которой восходят к Айт Дженнад из города Тизи Узу. Его талант был открыт шейхом Мустафой ан Надуром, который был им сильно впечатлен и принял его в свою музыкальную группу в качестве игрока на бубне, когда тот был еще маленьким мальчиком. Л’Анка продолжил путь, начатый с его шейхом, несмотря на противодействие отца, который угрожал и даже избивал его.
🇩🇿После игры на бубне он освоил игру на мандолине🪕, овладев ею за короткий срок. Его учитель, шейх ан Надур, дал ему прозвище "Л’Анка" العنقاء -
" (феникс) в честь мифической птицы, упомянутой в древнеарабских легендах, в том числе в исламской традиции как огромная птица с телом, подобным быку, чьи яйца величиной с горы, а полет звучит, как гром или рев реки..."
После смерти его учителя в 1925 году он возглавил музыкальную группу, и это стало началом его самостоятельного становления, до тех пор пока он не получил титул хаджа, будучи еще молодым человеком. Л’Анка скончался 23 ноября 1978 года в Алжире.
📻Среди его самых известных песен:
- "سبحان الله" (СубханАллах)
- "الحمام لي ربيتو" (Голубь, которого я вырастил)
- "الحمد لله مابقاش إستعمار في بلادنا" (Слава богу, больше нет колонизатора в нашей стране)
#ШаабиМузыка#Алжир#Музыка#Шааби#песня#algeria#Chaabi#музыкальныйжанр
Bab L' Bluz — Nayda! (Real World Records, 2020)
#gnawa#tishoumaren#chaabi#psychedelic#blues#funk#sintir#tanpura#Morocco
Nayda! – дебют марокканско-французского квартета Bab L 'Bluz, родившегося из мечты продвинуть синтир, традиционный музыкальный инструмент народна гнауа, на международную музыкальную сцену. Группа относится к той волне молодых марокканских артистов, которые черпают вдохновение из своего наследия и исполняют композиции на диалекте дарижа. Этот диалект характеризуется большим количеством заимствований из языков исторических владельцев колоний Магриба, французского и испанского, а также из местных берберских языков. Помимо влияния культуры гнауа, музыка Bab L 'Bluz содержит элементы психоделического рока, фанка и блюза таурегов. На записи можно найти звуки Атлантического океана, элементы североафриканского стиля чааби и звуки индийской танпуры.
Spotify | AppleMusic | Bandcamp