Что делать если нужно поставить какую-то 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
MrBeast (@MrBeast) acquired 167,436 $ASTER for 320,587 $USDT ($1.91 each) ~15 hrs ago!
Over the past week, he has spent $1.325M on 705,821 $ASTER at an average price of $1.88. Now worth $1.4M, up +$63.9K!
Follow @spotonchain and track #MrBeast’s next #Aster move at https://x.com/spotonchain/status/1972592103290290519
🔥 MrBeast разыгрывает $1 млн прямо в рекламе
Мир маркетинга и фанатов головоломок взорвался: MrBeast спрятал настоящий приз в рекламе Salesforce, показанной на Супербоуле - и отдал шанс заработать $1 000 000 тому, кто первым разгадает загадку.
👉 В ролике - цепочка подсказок: часть из них в самом видео, часть - за его пределами. Чтобы выиграть, нужно собрать сквозной код и первым отправить его самому MrBeast через Slackbot.
🎯 Почему это важно:
• Это не просто реклама - это интерактивный челлендж на миллионы, в который вовлечены десятки миллионов людей по всему миру.
• MrBeast и Salesforce перевели пассивный просмотр в активное участие: ты не просто смотрел рекламу - ты стал участником головоломки.
• Это уникальный пример, как бренд может объединить игровой формат, AI-технологии и вирусный контент в одном проекте.
Пока никто ещё не выиграл - головоломка всё ещё в игре.
Если кто-то из подписчиков моего ТГ выйграет, отправьте мне 100$ на 🍺😀
#MrBeast#Salesforce#Маркетинг#SuperBowl#ИИ
#The_Bloomberg🇺🇸📕[PDF]⬇️
#October2025
#Monthly_Magazines
For learning, for free(dom).
@backupofmagazines
This issue dives into #MrBeast’s transformation from YouTube star into a global #media mogul, steering an empire of 430M fans. Inside, stories range from #stablecoins spooking banks, Hollywood’s #jobcrisis, and Stellantis wrecking #Jeep, to Chanel’s new #luxury watch and AI reshaping the creator economy. Also: the CDC’s mounting troubles, Korean firms paying for births, and why #CPI misses inflation’s full picture. A sharp mix of #business, #tech, #culture, and #geopolitics defines this edition.