Что делать если нужно поставить какую-то 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
Taste of Africa: Музыка без границ: русская гармония + африканский ритм 🎹🌍🥁
Все народы Земли объединяет наличие языка и музыки. Музыка и язык в мозге тесно связаны 🎶 Музыка проходит сквозь эпохи и континенты и соединяет то, что на карте выглядит раздельным🧭✨
В начале XX века русский композитор Александр Скрябин искал гармонию как пространство, выходя за пределы понятий «вопрос–ответ», напряжение–разрешение, он искал состояние: звук, который будто зависает в воздухе, светится изнутри, существует между нотами 🌫️🎼 Он мечтал о синтезе искусств - о музыке как силе, способной менять человека и мир 🔥🎨
А в это же время по другую сторону Атлантики рождалась стихия, основой которой стал пульс ❤️🥁 Африканские ритмические принципы, повтор, смещение акцентов, многослойность, полиритмия.
Джаз оказался местом встречи ритма и гармонии🎷✨
Когда в конце 1950-х джаз начал освобождаться от «жёстких коридоров» гармонии и идти в модальность и атмосферу, в нём стало больше воздуха 🌬️ Гармония перестала диктовать маршрут и стала ландшафтом 🏞️🎹 А африканская ритмическая энергия - тем мотором, который удерживает эту красоту во времени ⏳🥁
Так и родился один из самых важных культурных симбиозов
• русско-европейская гармония дала джазу новые краски 🎨
• африканский ритм сохранил телесность, свободу и огонь 🥁
• вместе они сделали музыку, которая стирает все границы 🚫🗺️
Сегодня этот диалог продолжается в world music, афро-джазе и фьюжне - везде, где музыканты соединяют культуры звуком 🎵
Если в мире начинает преобладать принцип «разделяй и властвуй», то всегда есть альтернатива «Объединяй и Здравствуй»!
Простая практика: включить музыку и услышать, как человечество говорит на одном языке 🌍
🎧 Что поставить сегодня: Miles Davis — “Kind of Blue” 🎺💙
https://moochinaboutltd.bandcamp.com/track/flamenco-sketches-kind-of-blue
и рядом — Скрябин 🎹✨ (любая поздняя фортепианная вещь, где гармония становится светом 💡). Слушайте связь 🔗🎶
🌟 Ритмическое путешествие продолжается – в языке музыки🌟
#TasteOfAfrica#МузыкаБезГраниц🌍#Джаз🎷#Скрябин🎹#AfricanRhythms🥁#WorldMusic🎶#СимбиозКультур🤝✨
🗣️🎶 Taste of Africa: Язык и музыка
🌟🔔 «Ритмическое путешествие продолжается!» 🥁🌟
Когда речь становится ритмом, а мелодия — смыслом 🥁
В Африке язык и музыка часто звучат как единое целое, и это ощущается даже при первом знакомстве. В ряде языков региона (например, Yorùbá, Igbo и многих других) значение передают и слоги, и высота произнесения.
📌 Тональные языки используют тон (высоту голоса) для различения значений. Одна и та же последовательность звуков, произнесённая выше или ниже (или с другим контуром), передаёт другое слово.
Ключевая мысль рубрики:
🎼 в песне мелодия работает как часть смысла и помогает ему звучать точно.
🎤 1) Как язык задаёт форму вокалу
Тональная речь направляет вокальную линию к смысловой точности, поэтому в музыке часто встречаются такие решения:
🗣️ Вокал как речь: мелодия держится в узком диапазоне, звучит как разговор, уложенный в ритмический узор.
🔁 Хуки‑формулы: важная фраза повторяется, смысл закрепляется и становится общим.
👥 Call-and-response (вопрос–ответ): лидер произносит строку → хор отвечает и поддерживает. Формат создаёт ощущение общинного согласия: “мы услышали, мы повторили, мы поняли”.
🥁 2) Барабаны как продолжение языка
Связь языка и музыки проявляется и через ритм речи. У каждой этнической традиции формируется свой набор привычек:
⏱️ акценты
✂️ паузы
📌 группировки слогов
⚡ ускорения и “перебросы”
🥁 Барабанные рисунки часто отражают эти принципы: ритм становится моделью речи.
Поэтому в ансамблях барабаны звучат как участники диалога:
отвечают голосу “репликой”,
поддерживают ключевую фразу,
закрепляют смысл повтором,
в ряде традиций передают сообщения и статус через говорящие барабаны и кодированные сигналы.
🎧 Как услышать это в треке:
представьте вокальную строку как фразу, произнесённую вслух. Когда перкуссия попадает в те же акценты, возникает ощущение разговора внутри музыки.
🌍 3) Кого послушать сегодня (по странам) 🎶
Под тему отлично подходят артисты, у которых композиция строится на риторике, повторе, коллективном ответе и “говорящем” груве.
🇳🇬 Нигерия
• Fela Kuti — длинная музыкальная “речь” поверх гипнотического грува 🔥
fela-kuti.bandcamp.com
• Seun Kuti & Egypt 80 — лозунг‑фраза ↔ ответ, энергия сообщества 👥
seunkuti.bandcamp.com
🇬🇭 Гана
• Ebo Taylor — highlife/afro-funk, где риффы звучат как реплики 🎸
ebotaylor.bandcamp.com
• Gyedu-Blay Ambolley — речевой фанк/highlife 🗣️
gyedublayambolley.bandcamp.com
🇸🇳 Сенегал
• Orchestra Baobab — ансамбль как разговор: слои ответов и мягкий грув 🧵
orchestrabaobab.bandcamp.com
🇲🇱 Мали
• Ali Farka Touré — фразировка как интонация речи, музыка “рассказывает” 🌀
alifarkatoure.bandcamp.com
• Tinariwen — сила повтора и коллективного звучания 🌙
tinariwen.bandcamp.com
🇬🇳 Гвинея
• Bembeya Jazz National — городская оркестровая традиция, где ритм держит “сюжет” 🎺
bembeyajazznational.bandcamp.com
🇪🇹 Эфиопия
• Mulatu Astatke — этно‑джаз: интонации и паузы как пунктуация 🎷
mulatuastatke.bandcamp.com
🇿🇦 ЮАР
• Hugh Masekela — инструмент “говорит”: вопрос–ответ, паузы, реплики 🗣️🎺
hughmasakela.bandcamp.com
🇹🇿 Танзания
• Siti Muharam — суахили‑песня: текст и интонация ведут аранжировку ✨
sitimuharam.bandcamp.com
🎧 4) Мини‑упражнение (2 минуты)
Выберите любой трек из списка и отметьте:
🎤 где вокал поёт, а где говорит/скандирует
🔁 какие фразы повторяются как “формулы”
🥁 где ритм‑секция отвечает голосу — как подтверждение смысла
🔄 Сохраняйте пост и приглашайте друзей в наше увлекательное путешествие вокруг света африканских ритмов!🎶🌍
#TasteOfAfrica#ЯзыкиАфрики#ЯзыкИМузыка#АфриканскаяМузыка#ТональныеЯзыки#Этномузыка#WorldMusic#AfricanRhythms#Drums#TalkingDrum#Djembe#CallAndResponse#Afrobeat#Highlife#AfroJazz#WestAfrica#EastAfrica#SouthAfrica#Nigeria#Ghana#Senegal#Mali#Guinea#Ethiopia#Tanzania#FelaKuti#SeunKuti#EboTaylor#OrchestraBaobab#AliFarkaToure#Tinariwen#MulatuAstatke#HughMasekela#SitiMuharam