Что делать если нужно поставить какую-то 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
Prezident Shavkat Mirziyoyev Jarqo‘rg‘on tumanida qurilayotgan “Yangi O‘zbekiston” massivini borib ko‘rdi.
—
Президент Шавкат Мирзиёев посетил строящийся массив «Янги Узбекистон» в Джаркурганском районе.
#Mirziyoyev#safar#Surxondaryo#mahalla
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Guliston shahri Boʻston mahallasidagi bunyodkorlik ishlarini borib koʻrdi hamda aholi bilan muloqot qildi.
—
Президент Шавкат Мирзиёев ознакомился с созидательной работой и провел диалог с жителями махалли Бустон города Гулистана.
#Mirziyoyev#safar#Sirdaryo#mahalla
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Mirzo Ulugʻbek tumanidagi Bogʻimaydon mahallasida amalga oshirilgan bunyodkorlik ishlari bilan tanishdi.
—
Президент Шавкат Мирзиёев ознакомился с созидательной работой, проведенной в махалле Богимайдон Мирзо-Улугбекского района.
#Mirziyoyev#tanishuv#MirzoUlugbek#mahalla
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Jarqo‘rg‘on tumanida qurilayotgan “Yangi O‘zbekiston” massivini borib ko‘rdi.
—
Президент Шавкат Мирзиёев посетил строящийся массив «Янги Узбекистон» в Джаркурганском районе.
#Mirziyoyev#safar#Surxondaryo#mahalla
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Сурхондарё вилоятига ташрифи давомида Сариосиё туманидаги Себзор маҳалласидаги фермер хўжалиги ва тиббиёт пункти фаолияти билан танишди.
—
Президент Шавкат Мирзиёев ознакомился с деятельностью фермерского хозяйства и медпункта в махалле Себзор Сарыасийского района Сурхандарьинской области.
#Mirziyoyev#safar#Surxondaryo#mahalla
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Prezident Shavkat Mirziyoyev raisligida kambagʻallikni qisqartirish va aholi bandligini taʼminlash boʻyicha 2026-yilda amalga oshirilishi lozim boʻlgan asosiy vazifalar yuzasidan videoselektor yigʻilishi boʻlib oʻtdi.
—
Под председательством Президента Шавката Мирзиёева состоялось видеоселекторное совещание по ключевым задачам в сфере сокращения бедности и обеспечения занятости населения на 2026 год.
#Mirziyoyev#videoselektor#mahalla#farovonlik
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Қашқадарё вилоятига ташрифи давомида Қарши шаҳридаги Ойдин маҳалласида бўлиб, аҳоли турмуши, ҳудуддаги ободлик ва куз-қиш мавсумига тайёргарлик билан яқиндан танишди.
—
Президент Шавкат Мирзиёев в ходе поездки в Кашкадарьинскую область побывал в махалле Ойдин города Карши, где ознакомился с условиями жизни населения, проводимой работой по благоустройству территории и подготовке к осенне-зимнему сезону.
#Mirziyoyev#safar#Qashqadaryo#mahalla
Prezident.uz|Facebook|Instagram|YouTube|Twitter
“Cho‘lpon” mahallasi aholisi ekologik xulosa olinmasdan turib boshlangan ma’muriyat binosining qayta qurilishiga qarshi sudda e’tiroz bildirmoqda
Toshkentning Yashnobod tumanidagi "Cho‘lpon" mahallasi aholisi mahalla ma’muriyati binosining rekonstruksiya qilinishi yuzasidan sudga murojaat qildi. Mahalliy aholi vakillari "Royal Residence" kompaniyasi tomonidan olib borilayotgan qurilish ishlariga qarshi chiqmoqda. Ularning fikricha, mahalla binosi o‘rniga ko‘p qavatli turar-joy binosi qurilishi mumkin. Ta’kidlanishicha, eski binoni buzish va yangisini qurish ishlari iyul oyida boshlangan, biroq kompaniya sentyabr oyi o‘rtalaridagina ijobiy ekologik ekspertiza xulosasini olgan.
Aholining aytishicha, qurilish uchun mahalliy aholi roziligi olinmagan ekan. Biroq sudga taqdim etilgan yig‘ilish bayonnomasiga ko‘ra, fuqarolar va mahalla faollari qurilishni ma’qullagan. Murojaatchilar ta’kidlashicha, ekologik ekspertiza xulosasida daraxtlar saqlab qolinishi kafolatlangan bo‘lsa-da, daraxtlar kesilgan ekan.
🌐 Batafsil o‘qish
#Mahalla#Shaffoflik#FCDO#EGED#MJDC
Президент Шавкат Мирзиёев Тошкент шаҳри Олмазор туманидаги Хастимом маҳалласида бўлди, хонадонлардаги шароитлар билан танишди ҳамда аҳоли билан суҳбатлашди.
—
Президент Шавкат Мирзиёев посетил махаллу Хастимом Алмазарского района города Ташкента, ознакомился с условиями и побеседовал с жителями.
#Mirziyoyev#tanishuv#mahalla#muloqot
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Prezident Shavkat Mirziyoyev Jarqo‘rg‘on tumanida qurilayotgan “Yangi O‘zbekiston” massivini borib ko‘rdi.
—
Президент Шавкат Мирзиёев посетил строящийся массив «Янги Узбекистон» в Джаркурганском районе.
#Mirziyoyev#safar#Surxondaryo#mahalla
Prezident.uz|Facebook|Instagram|YouTube|X
O‘zbekiston Respublikasi Prezidenti Shavkat Mirziyoyev Oliy Majlis va O‘zbekiston xalqiga Murojaatnomani taqdim etdi.
—
Президент Республики Узбекистан Шавкат Мирзиёев обратился с Посланием к Олий Мажлису и народу Узбекистана.
#Mirziyoyev#Murojaatnoma#2026yil#mahalla
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Jarqo‘rg‘on tumanida qurilayotgan “Yangi O‘zbekiston” massivini borib ko‘rdi.
—
Президент Шавкат Мирзиёев посетил строящийся массив «Янги Узбекистон» в Джаркурганском районе.
#Mirziyoyev#safar#Surxondaryo#mahalla
Prezident.uz|Facebook|Instagram|YouTube|X