Что делать если нужно поставить какую-то 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
We have got our winners!🏆🎖
The top 10 #winners are here and will get a chance to meet Chennai Super Kings players. Thank you for participating in this contest. Let's keep playing and continue the winning journey!💰#Vision11
The M-session of the project took place today.
The following took part in the action:
28 TON-wallets
🏆20 participants received 200,000 BLC each
🎁 During the AMA one participant received:
1,000,000 BLC
All participants of the first stage will be invited to the closed chat of BLC Market testers and will receive the status of Pioneers with bonuses
The next stage of the project will be announced soon.
#giveaway#winners
FAQ | BUY
We are happy to Announce the #HEXN Meme Contest #Winners!
Congratulations #Winners (Twitter Handles)👇!
@ScaredHulk
@cryingrnf
@dionysuz_
@odukunelson
@uonyekiss
@crypto0harry
@greymegawin
@wangshuthian
@mr_h_kumawat
@BOSSSMUDA9
You have won 10$ per each winner. You will receive your reward on the platform 🏆🎉
🎉 Send us a DM with your Registered Email on #HEXN to claim your rewards! DM @MaxAttacker or our Twitter @hexn_io
If your weren't chosen this time around, don't worry! We love memes, so there's more contests on the way.
https://twitter.com/hexn_io/status/1623563743123902465
Dinos 🦖
The moment we’ve all been waiting for is almost here. It looks like something is about to pop up as we get close to hatching season. Are you ready to see what’s inside those mighty eggs you’ve collected ? Tik…Tok...
Show us your 🥚EGG collection,
We are #givingaway a 10M $CRACKA to 10 lucky #winners from the posted eggs, To enter:
1. Post your eggs under this tweet.
2. Share your TON wallet address
The top 3 winners will each receive 2M $CRACKA, the 4th and 5th place winners will receive 1M each and the remaining winners will receive 400k $CRACKA each.
Don't have EGGS yet? Don't worry, start collecting now and join the fun:
@MappasaurusAppBot
👀Follow us on:
Twitter|Instagram|Medium|Youtube|Linkedin| Facebook| Threads| Mastodon
CONGRATULATIONS FOR ALL WINNERS!🎆
You won the 5 $TON prizes in the contest
1. https://x.com/JisanHk67290/
2. https://x.com/mattmcap/
3. https://x.com/Zacker200302/
4. https://x.com/Crypt0jace/
5. https://x.com/Isabell_Krypto/
Pls DM us in X from your accounts and provide your TON wallet
😎Follow us on X and wait for the next contest!
#TON#winners#contest#TONEvents
🎉 Congratulations to the winners of the Massive Airdrop between SingSing and Cowtopia! 🥳
Check out the winners list here
Rewards will be distributed within the next 72 hours. Stay tuned! 🚀✨
#Airdrop#Winners#SingSing#Cowtopia#Web3#Crypto
🌟 ПІДСУМКИ ЛІДЕРБОРДУ НА REDSTAR! 🌟
Ось і результати нашого лідерборду на RedStar Poker! Вітаю переможців, які довели свій скіл на полі.
🥇 1 місце: MANUMBA
💰 Приз: $20
🥈 2 місце: RedStar113
💰 Приз: $10
🥉 3 місце: smak511
💰 Приз: $5
Призи будуть нараховані найближчим часом.
Дякую за активну участь усім гравцям!
Забирай 200% БОНУС на перший деп! + Ексклюзивні розіграші та призові ЛІДЕРБОРДИ для рефів! 🚀👉
📎 Реєстрація у RedStar
📎 Реєстрація у RedStar
📎 Реєстрація у RedStar
#RedStarPoker#PokerLeaderboard#Winners#Покер
O‘zbekiston jamoasini muvaffaqiyatli g‘alaba bilan tabriklaymiz!
💥 “Techno Mind” jamoasi “Aquatibia” loyihasi bilan Tech4Good global finalida ishtirok etib, “Silver Award” (ikkinchi o'rin)ni qo‘lga kiritdi.
🏆 Shuningdek, “People's choice award” tanlovida ham O‘zbekiston jamoasi g'oliblar qatoridan o'rin egalladi.
💧Aquatibia – qishloq xo‘jaligi uchun raqamli texnologiyalardan foydalangan holda integratsiyalashgan suv filtrlash tizimini yaratish loyihasi hisoblanadi.
🎗Yoshlarimizdan kelajakda bundanda yuqori natijalarni kutib qolamiz!
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#SeedsfortheFuture#Aquatibia#global_final#winners#Tech4Good#TechnoMind
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Youth Day – Winners of the Sports Competitions!
🏅💪On March 18, 2026, at Green University, sports competitions were held in celebration of Youth Day, and the winners were announced!
🏆Winners among male students:
🥇1st place: Khakimov Muhiddin (LAW-103)
🥈2nd place: Nurimov Diyorbek (LAW-102)
🥉3rd place: Toshpulatov Orifjon (EEP-101)
🏆Winners among female students:
🥇1st place: Bakhtiyorova Saodatxon (ESM-202)
🥈2nd place: Ulugmurodova Yasmina (LAW-104)
🥉3rd place: Qutbiddinova Mubina (LAW-104)
👏Congratulations to all the winners!
Your strength, dedication, and passion for sports inspire us!
#GreenUniversity#YouthDay#SportsCompetitions#StudentLife#Tashkent#Winners __________________
Yoshlar kuni – sport musobaqalari g‘oliblari!
🏅💪18-mart 2026 yil kuni Green University’da Yoshlar kuni munosabati bilan o‘tkazilgan sport musobaqalarida g‘oliblar aniqlandi!
🏆O‘g‘il bola talabalar orasidagi g‘oliblar:
🥇1-o‘rin: Xakimov Muhiddin (LAW-103)
🥈2-o‘rin: Nurimov Diyorbek (LAW-102)
🥉3-o‘rin: Toshpo‘latov Orifjon (EEP-101)
🏆Qiz bola talabalar orasidagi g‘oliblar:
🥇1-o‘rin: Baxtiyorova Saodatxon (ESM-202)
🥈2-o‘rin: Ulug’murodova Yasmina (LAW-104)
🥉3-o‘rin: Qutbiddinova Mubina (LAW-104)
👏Barcha g‘oliblarni tabriklaymiz!
Sizlarning kuchingiz, mashaqqatlaringiz va sportga bo‘lgan ishtiyoqingiz bizni ilhomlantiradi!
#GreenUniversity#YoshlarKuni#SportMusobaqalari#TalabaHayoti#Toshkent#G‘oliblar
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube
🇷🇺 Οι Ρώσοι μαθητές κατέκτησαν 6 μετάλλια στη Μαθηματική Ολυμπιάδα
🏆 Οι μαθητές κέρδισαν πέντε χρυσά και ένα ασημένιο μετάλλιο στην 66η Διεθνή Μαθηματική Ολυμπιάδα, που πραγματοποιήθηκε στην Αυστραλία.
🥇 Χρυσά μετάλλια απονεμήθηκαν στους:
➡️ Ιβάν Τσασόβσκιχ, Χίμκι, Περιφέρεια Μόσχας
➡️ Ντμίτρι Γκρισκό, Μόσχα
➡️ Ιλιά Ζαμοτόριν, Αγία Πετρούπολη
➡️ Βασίλι Πάτρουσεφ, Βλαδιβοστόκ
➡️ Αρτέμ Σαντικοφ, Τσελιάμπινσκ
🥈 Το ασημένιο μετάλλιο κέρδισε ο Ιβάν Κόκαρεφ από το Τσελιαμπίνσκ.
🎊 Θερμά συγχαρητήρια στα παιδιά! Τους ευχόμαστε ακόμη περισσότερες επιτυχίες στο μέλλον!
🇷🇺 Российские школьники завоевали 6 медалей на математической олимпиаде
🏆 Ребята взяли пять золотых и одну серебряную медаль на 66-й Международной математической олимпиаде, которая прошла в Австралии.
🥇 Золотых медалей удостоены:
➡️ Иван Часовских, Химки, Московская область
➡️ Дмитрий Гришко, Москва
➡️ Илья Замоторин, Санкт-Петербург
➡️ Василий Патрушев, Владивосток
➡️ Артем Садыков, Челябинск
🥈 Серебряную медаль получил Иван Кокарев из Челябинска.
🎊 Поздравляем ребят и желаем новых побед!
@rossotrudnichestvo@rusembgreece
#Ρωσία#Μαθηματικά#ΔιεθνήςΟλυμπιάδα#RussianStudents#MathOlympiad#Επιτυχία#Νίκη#Διακρίσεις#Μαθητές#ΡωσικήΕκπαίδευση#Russia#Education#Success#Winners#Olympiad#Россия