Что делать если нужно поставить какую-то 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
Аромат дня - Guess 1981 Los Angeles (женский) 💖
Свежими, бодрящими цитрусовыми аккордами мандарина и вкусными фруктовыми нотками душистой груши и ярких ягод красной смородины открывается аромат, сплетаясь в «сердце» композиции с роскошными цветочными оттенками медового пиона, изысканного белого жасмина и чарующим апельсиновым цветом ✨
Восточные ноты нежной пудровой ванили, сладкого пралине, чувственного мускуса и элегантные древесные оттенки сливочно-хвойного кедра завершают великолепный женский парфюм Guess 1981 Los Angeles Woman.
СТОИМОСТЬ💵
Guess 1981 Los Angeles, 100 мл – 2 850 руб
#ЖенскиеАроматы
#Guess
⚫️ Больше ароматов Guess и других брендов по запросу
⚫️ Для заказа и по всем вопросам - @originalproduct_new
🎙 INVEST REPORT ANNOUNCE GUESSIT
⚖️ INVEST REPORT project rating 8/10 ⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️
GUESSIT is an exciting, community-driven game where players buy credits to guess a numeric code. The goal? Crack the safe and win the ever-growing prize pool! Every attempt grows the pot and raises the stakes. But there’s more: an interactive AI Agent guards the safe, securely generates the code, and helps players strategize without revealing the solution. This isn't just a game—it’s a social phenomenon where players come together to share tips, analyze guesses, and compete for glory.
One of the better launches I've seen under these market conditions. Over $2m in volume already.
Project sit now at 8M MC floor and team is waiting when to launch marketing.
Whats more to come?
- Game about to be dropped
- Marketing is about to kick in
- Game viral marketing through TIKTOK
- 2.5X Leverage trading
👉CA: 9PHyv24rtL8RKSnsniZ3G5WwKrChCiDAuMvW3earGr9g
☑️ Follow GUESSIT:
Website: https://guessitsol.ai/
X: https://x.com/guessitonsol
Telegram: https://guessitsol.ai/
TIKTOK: https://www.tiktok.com/@guessitsol
#GUESS#AI#Game
I guessed this word in 3/6 tries.
✏️GRUFF
📅 29.03.2026
🟩🟩⬜️🟧⬜️
⬜️🟩🟧⬜️⬜️
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
Reward: 160 🌟
Can you guess this word❓
PLAY NOW 🔜@DailyPuzzles
#wordle#DailyPuzzles#daily#guess
I guessed this word in 4/6 tries.
✏️ABUSE
📅 27.03.2026
⬜️⬜️⬜️🟧⬜️
⬜️⬜️🟧⬜️⬜️
⬜️🟩🟩⬜️⬜️
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
PLAY NOW 🔜@DailyPuzzles
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries.
✏️DALLY
📅 24.03.2026
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
⬜️🟧🟧⬜️⬜️
🟧🟩⬜️⬜️⬜️
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 100 🌟
Can you guess this word❓
PLAY NOW 🔜@DailyPuzzles
#wordle#DailyPuzzles#daily#guess
I guessed this word in 6/6 tries
✏️SLINK
📅 20.03.2026
⬜️⬜️⬜️⬜️🟧
⬜️⬜️⬜️⬜️⬜️
🟧⬜️⬜️⬜️🟧
🟩🟩🟧🟧⬜️
🟩🟩🟩🟩⬜️
🟩🟩🟩🟩🟩
Reward: 100 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 3/6 tries
✏️ENEMY
📅 17.03.2026
🟩⬜️🟩⬜️⬜️
⬜️🟧⬜️⬜️🟧
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
Reward: 160 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries
✏️CACHE
📅 16.03.2026
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
🟩⬜️⬜️🟩⬜️
🟩⬜️⬜️⬜️🟧
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries
✏️LABEL
📅 14.03.2026
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
🟩⬜️⬜️🟩⬜️
🟩⬜️⬜️⬜️🟧
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries
✏️SILLY
📅 13.03.2026
⬜️⬜️🟩🟩🟩
⬜️⬜️🟩🟩🟩
⬜️🟩🟩🟩🟩
⬜️🟩🟩🟩🟩
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 6/6 tries
✏️CAMEL
📅 12.03.2026
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
🟩⬜️⬜️🟩⬜️
🟩🟩🟩🟩🟩
Reward: 100 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess