Что делать если нужно поставить какую-то 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
11 ноября 2025 года - эфир Solid Bangerz #41 на Reactor Radio!
⠀
INFERNAL | EXIT4 | DONVITALYNO | LUGER | ISSEKAI
Спасибо за выступление, всем респект 🤟🏻
‼️Аудио и видео записи эфира
☠️Инфозона Solid Bangerz
🪙Поддержать команду монетой
С любовью к ритму и вам, Solid Bangerz!
#solid_bangerz#luger#interceptor#issekai#donvitalyno
#reactor_radio#online_radio
#dnb_spb#dnb#drum_and_bass
😈 Добрейшего дня, Бэнгеры!
Прошлый эфир Solid Bangerz Tales #18 прошёл с адским огоньком и нереальнейшим вайбом!
Ловите видео и аудио сеты наших гостей и участников команды!
Line Up:
Injector Drums - VIDEO / AUDIO
isSekai b2b Nyxel - VIDEO / AUDIO
Infernal b2b Unquiet - VIDEO / AUDIO
*Hosted by LUGER
С любовью к ритму и вам, Solid Bangerz!
#Solid_Bangerz#Infernal#Unquiet#Luger#Injector_Drums#isSekai#Nyxel#Reactor_Radio#Online_Broadcasting#DNB#SPb_DNB#Drum_and_Bass
😈 Хай, Бэнгеры!
Сегодня на волнах Reactor Radio пройдет очередной эфир Solid Bangerz Tales #18 и он обещает быть очень горячим 🔥 Так же на эфире будут объявлены очень важные новости о команде Solid Bangerz😈 Не пропускайте наш эфир, что бы узнать всё первыми! ⚡️
- Откроет эфир один из участников DJ JAM - НикитаInjector Drums.
- Далее ДенисisSekai и КостяNyxel из команды VETERANS AVENUE.
- Ну и завершат эфир разрывным b2b - ДимаInfernal и СергейUnquiet!
- Так же на микрофоне харизматичный и энергичный ведущий ДимаLuger!
Line Up:
20:00 - Injector Drums
21:00 - isSekai b2b Nyxel
22:00 - Infernal b2b Unquiet
*Hosted by LUGER
‼️Трансляция Twitch
‼️ Трансляция VK - ссылка появится при запуске трансляции
С любовью к ритму и вам, Solid Bangerz!
#Solid_Bangerz#Infernal#Unquiet#Luger#Injector_Drums#isSekai#Nyxel#Reactor_Radio#Online_Broadcasting#DNB#SPb_DNB#Drum_and_Bass
☠️ Хэй, Бэнгеры!
10 февраля готовьтесь к взрыву звука на эфире Solid Bangerz #53🔥
Вас ждут мощнейшие b2b‑сеты, от которых мурашки по коже! Всё, что заставляет сердце биться чаще — Jump Up, Neurofunk, Technoid, Dark Side❤️ Это будет нереально круто, так что включайте эфир и погружайтесь в музыку!
Line Up:
• Дима INFERNAL — Адепт разрывного и динамичного Drum & Bass, настоящий генератор адской энергии. В его сетах - быстрые, ритмичные треки, тяжёлые басы и проверенные танцпол-уничтожители. Минимум пауз, максимум дропов - гарантированно! Участник команды Solid Bangerz☠️
• Макс EXIT4 — DNB продюсер с более чем 20-летним опытом. Основатель лейбла E-Form Rec и проекта Friend Zone. Автор релизов на Close 2 Death, Abducted LTD и др., а так же участник крупнейших радиошоу и подкастов страны. Участник команды Solid Bangerz☠️
•BRAINTEASER — молодой проект от Girls and Bass, в котором Алиса N.Y.X. и Евгения MUFFINWITHNOTHING объединили свои музыкальные предпочтения в любимых поджанрах Darkside D'N'B☠️
• Денис isSekai — Диджей и начинающий продюсер из Санкт-Петербурга. Сооснователь промо-группы Veterans Avenue. Его сеты — взрывная смесь мощнейшего Drum and Bass и мелодичных вокальных партий🔥
•Костя NYXEL — Диджей из Санкт-Петербурга. Сооснователь промо-группы Veterans Avenue. В своих сетах отдаёт предпочтение стилям Neurofunk и Jump-UP🔥
•Дима LUGER — Панк по натуре и философии, безудержный поклонник и создатель драм-н-бэйс культуры по жизни! Главный голос эфиров и участник команды Solid Bangerz☠️
20:00 - INFERNAL & EXIT4
21:00 - BRAINTEASER
22:00 - ISSEKAI b2b NYXEL
Hosted by LUGER
‼️Трансляция Twitch
‼️Трансляция VK
☠️Инфозона Solid Bangerz
🪙Поддержать команду монетой
Увидимся на волнах Reactor Radio!
С любовью к ритму и вам, Solid Bangerz!
#solid_bangerz#infernal#exit4#luger
#girls_and_bass#brainteaser#nix#muffinwithnothing
#veterans_avenue#issekai#nyxel
#reactor_radio#online_radio
#dnb_spb#dnb#drum_and_bass