Что делать если нужно поставить какую-то 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
Vashington shahrida O‘zbekiston va AQSh tashqi siyosat idoralari rahbarlari o‘rtasidagi uchrashuv do‘stona muhitda va o‘zaro ishonch ruhida o‘tdi.
Tomonlar O‘zbekiston–AQSh strategik sherikligini mustahkamlash, savdo-iqtisodiy aloqalarni kengaytirish, mintaqaviy xavfsizlik va barqarorlikni ta’minlash masalalarini muhokama qildilar.
#AQSh#Diplomatiya#StrategikSheriklik
@TIVmatbuot
O'zbekiston #Diplomatiya sining yuzlari
Senat tomonidan tashkil etilgan o'quv seminaridan so'ng O'zbekistonning xorijdagi elchilari, doimiy vakillari va bosh konsullari Senat Raisining birinchi o'rinbosari Sodiq Safoyev va tashqi ishlar vazirining o'rinbosari Sherzod Asadov bilan.
P.S. Bu yerdagi faqat ikkita ayolni topdingizmi?
@Diplomatika
_________________
Лица #Дипломатии#Узбекистана
Послы, постоянные представители и генеральные консулы Узбекистана за рубежом с первым заместителем председателя Сената парламента Садыком Сафаевым и заместителем министра иностранных дел Шерзодом Асадовым после семинара-тренинга, организованного Сенатом.
P.S. Вы смогли тут найти только двух женщин?
@Diplomatika
🇺🇿🇹🇷O‘zbekiston va Turkiya tashqi ishlar vazirlarining Qo‘shma strategik rejalashtirish guruhining 4-yig‘ilishi yakunlari bo‘yicha qo‘shma bayonoti
🔺Anqaradagi yig‘ilishga TIV rahbarlari Baxtiyor Saidov va Hakan Fidan hamraislik qildilar
🔺Batafsil
🔺Батафсил
#Oʼzbekiston#Turkiya#TIV#Diplomatiya
Рус | Eng | Facebook | X | YouTube | Instagram
🇨🇭 Jeneva – tinchlik va diplomatiya shahri
Jeneva – Shveysariyaning ikkinchi yirik shahri bo‘lib, Leman ko‘li bo‘yida joylashgan. U dunyo miqyosida diplomatiya va xalqaro tashkilotlar markazi sifatida tanilgan.
🌍BMTning Yevropadagi qarorgohi, Qizil Xoch qo‘mitasi, Jahon sog‘liqni saqlash tashkiloti (WHO), Xalqaro mehnat tashkiloti (ILO) kabi ko‘plab muhim tashkilotlar aynan shu yerda joylashgan.
🕊Tinchlik, inson huquqlari va neytrallik ruhi bilan sug‘orilgan Jeneva, har yili yuzlab xalqaro anjumanlarga mezbonlik qiladi.
⌚️Shu bilan birga, Jeneva – soatsozlik san’ati, shveysar shokoladi va nafis hayot tarzi bilan ham mashhur.
📌Jeneva – bu nafaqat shahar, bu tinchlik, taraqqiyot va insoniyatga xizmat qilish timsoli.
#Jeneva#Shveysariya#Diplomatiya#InsonHuquqlari#BMT
😎Instagram.😎Hayotalks
😎Telegram📱Khayotullo
Vladimir Putin Aleksei Erkhovni Rossiyaning O‘zbekistondagi yangi elchisi etib tayinladi. U avval Turkiyada elchi bo‘lib ishlagan va katta diplomatik tajribaga ega.
https://yep.uz/uz/2025/09/putin-erxov-yangi-elchi-ozbekiston/
#o‘zbekiston #rossiya#elchi#putin#diplomatiya
Shavkat Mirziyoyev Qatar amiri bilan muzokaralar olib bordi va «C5+1» sammitida ishtirok etish uchun Vashingtonga uchdi. Uchrashuvlar strategik hamkorlik, savdo, investitsiya, gumanitar sohalar va Markaziy Osiyo–AQSh munosabatlariga qaratiladi.
https://yep.uz/uz/2025/11/prezident-uzbekistan-qatardan-aqshga/
#Mirziyoyev#Oʻzbekiston#C5Plus1#Qatar#AQSh#Diplomatiya#Investitsiya
O‘zbekiston va Ukraina tashqi ishlar vazirlari Nyu-Yorkda BMT Bosh Assambleyasi doirasida uchrashib, muloqotni chuqurlashtirish va hamkorlikni kengaytirishga kelishdi.
https://yep.uz/uz/2025/09/ozbekiston-ukraina-tashqi-ishlar-unga/
#O‘zbekiston #Ukraina#Saidov#Sibiga#BMT#UNGA#diplomatiya#hamkorlik
O‘zbekiston Prezidenti Shavkat Mirziyoyev Toshkentda Janubiy va Markaziy Osiyo bo‘yicha AQSh maxsus vakili Serjio Gor va Davlat kotibi o‘rinbosari Kristofer Landau bilan uchrashdi. AQSh delegatsiyasining safari Qozog‘iston va O‘zbekistonga mintaqaviy safar doirasida o‘tmoqda.
https://yep.uz/uz/2025/10/ozbekiston-prezidenti-aqsh-maxsus-vakili-gor-landau/
#O‘zbekiston #AQSh#Mirziyoyev#Gor#Landau#Toshkent#uchrashuv#diplomatiya#C5plus1
Samarqandda MDH xavfsizlik va razvedka xizmatlari rahbarlarining 21-majlisi bo‘lib o‘tmoqda. Mirziyoyev mojarolarni diplomatik yo‘l bilan hal etish va mintaqaviy barqarorlikni mustahkamlashga chaqirdi.
https://yep.uz/uz/2025/10/mdh-maxsus-xizmat-rahbarlari-samarqand-mirziyoyev/
#Samarqand#MDH#Mirziyoyev#razvedka#xavfsizlik#diplomatiya#mintaqaviybarqarorlik#xalqaro xavfsizlik
Fransiyaning O‘zbekistondagi yangi elchisi Ualid FUK 2025-yil 27-avgustdan lavozimiga kirishdi. Nogironlar aravachasida bo‘lishiga qaramay, u diplomatik faoliyatini muvaffaqiyatli davom ettirmoqda va ikki mamlakat o‘rtasidagi hamkorlikni rivojlantirishga va’da berdi.
https://yep.uz/uz/2025/08/posol-nogironlar-aravachasida-fransiyaning-yangi-elchisi-uzbekistonda/
#fransiya#elchi#UalidFUK#nogironlararavachasi#o‘zbekiston #diplomatiya#hamkorlik#tarixiyyaqinlashuv