Что делать если нужно поставить какую-то 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
#TAYINLOV
Samarqand viloyati bojxona boshqarmasiga yangi boshliq tayinlandi
Polkovnik Salixov Shovkat Sanʼatovich Samarqand viloyati bojxona boshqarmasi boshligʻi etib tayinlandi.
Sh.Salixov tayinlovga qadar Xorazm viloyati boʻyicha boshqarmasi boshligʻi lavozimida faoliyat yuritgan.
#Tayinlov
Jizzax viloyati hokimiga yangi o‘rinbosar tayinlandi
Jizzax viloyati hokimligida o'tkazilgan yig'ilishda tashkiliy masala ko'rildi.
Xudayshukurov Dilmurod Xolmurodovich - Jizzax viloyati hokimining yoshlar siyosati, ijtimoiy rivojlantirish va ma’naviy-ma’rifiy ishlar bo‘yicha o’rinbosari lavozimiga tayinlandi.
Tayinlovga qadar Jizzax viloyati hokimligi Tashkiliy-kadrlar guruhi rahbari lavozimida faoliyat yuritib kelgan.
Kanalimizga obuna boʻling
👉@Jizzax24kanal
https://t.me/joinchat/AAAAAEb1PYV00dCr2WDOpw
#Tayinlov
Narzullayev Farxod Furqatovich O‘zbekiston yoshlar yetakchilarini qo‘llab-quvvatlash markazi Buxoro viloyati koordinatori lavozimiga tayinlandi.
Mazkur tayinlovga qadar u Buxoro shahar “Shayxon” mahallasi yoshlaryetakchisi sifatida samarali faoliyat olib borgan.
🌎Veb-sayt📱Telegram📱Facebook📱You Tube📱Instagram
#tayinlov
To‘xtamishov Azizjon Boltayevich - Buxoro shahar hokimining qurilish, kommunikatsiyalar, to‘siqlarsiz muhit yaratish, kommunal xo‘jalik, ekologiya va ko‘kalamzorlashtirish masalalari bo‘yicha o‘rinbosari – shahar Obodonlashtirish boshqarmasi boshlig‘i etib tayinlandi.
A.To‘xtamishov 1984-yil 5-aprelda Jondor tumanida tug‘ilgan, ma’lumoti - oliy. 2006-yilda Toshkent irrigatsiya va melioratsiya instituti, 2023-yilda Toshkent irrigatsiya va qishloq xo‘jaligini mexanizatsiyalash muhandislari instituti milliy tadqiqotlar universitetining Buxoro tabiiy resurslarni boshqarishi instituti (magistratura)ni tamomlagan. Ma’lumoti bo‘yicha mutaxassisligi – yer tuzish va yer kadastri hamda yer resurslaridan foydalanish va boshqarish.
Ayni vaqtga qadar u Buxoro viloyati hokimligi huzuridagi "Yagona buyurtmachi xizmati-injiniring kompaniyasi" DUK direktori lavozimida ishlab kelayotgan edi.
🌎Veb-sayt📱Telegram📱Facebook📱You Tube📱Instagram
#TAYINLOV
📌Mahkamov Sherzod Ubaydullo o‘g‘li Kattaqo‘rg‘on tuman Yoshlar ishlari bo‘limi boshlig‘i lavozimiga tayinlandi.
📌Mahkamov Sherzod Ubaydullo o‘g‘li ushbu lavozimga tayinlangunga qadar O‘zbekiston Respublikasi Din ishlari bo‘yicha qo‘mitaning Samarqand viloyati hududiy boshqarmasi Kattaqo‘rg‘on tumani bo‘yicha bosh mutaxassisi vazifasida faoliyat yuritgan.
KATTAQO'RG'ON TUMANI HOKIMLIGI AXBOROT XIZMATI
🌐Web sayt😎Telegram
#Tayinlov
Shirinov Obidjon G'aniqulovich Kattaqo'rg'on tumani hokimligi Madaniyat bo'limi boshlig'i lavozimiga tayinlandi.
Qayd etish joizki, Obidjon Shirinov bungacha tuman hokimi o'rinbosari lavozimida samarali faoliyat yuritib, o'zining tashabbuskorligi, mas'uliyatli yondashuvi bilan jamoa ishonchini qozongan.
👇
Ulaning va ulashing:
📱Telegram • 📱
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- Turayev Akromjon Urozovich – Qarshi tuman adliya bo'lim boshlig'i lavozimiga tayinlandi.
A.To'rayev tayinlovga qadar boshqarmaning Davlat xizmatlari ko‘rsatilishi ustidan nazorat qilish sho‘basi bosh maslahatchisi lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi A.To'rayevni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- TurapovSuxrob Sattar o‘g‘li – boshqarmaning Rejalashtirish va nazorat tahlil sho‘basi boshlig‘i lavozimiga tayinlandi.
S.Turapov tayinlovga qadar boshqarmaning Yuridik xizmatlar faoliyatini muvofiqlashtirish bo‘yicha bosh maslahatchisi lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi S.Turapovni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- Azimov O‘tkir Erkinovich – boshqarmaning Huquqni qo‘llash amaliyotini o‘rganish va metodik ta’minlash sho‘basi boshlig‘i lavozimiga tayinlandi.
O'.Azimov tayinlovga qadar boshqarmaning Rejalashtirish va nazorat tahlil sho‘basi boshlig‘i lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi O'.Azimovni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- Rustamov Ruslan Rustamovich - Qashqadaryo viloyat adliya boshqarmasi boshqarmaning Intellektual mulk huquqlarini himoya qilish sho‘basi boshlig‘i lavozimiga tayinlandi.
R.Rustamov tayinlovga qadar boshqarmaning Intellektual mulk huquqlarini himoya qilish sho‘basi bosh maslahatchisi lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi R.Rustmovni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
Begimov Anvar Xurramovich – Chiroqchi tuman adliya bo‘lim Yuridik xizmat ko‘rsatish markazi boshlig‘i lavozimiga tayinlandi.
A.Begimov – Shu kunga qadar Shahrisabz shahar adliya bo‘limi Yuridik xizmat ko‘rsatish markazi bosh yuriskonsulti lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi Begimov Anvar Xurramovichni - tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Biz ijtimoiy tarmoqlarda:
🔵• facebook |🎬• youtube |🌐• rasmiy sayt |🚀• telegram |📷 • instagram
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
Davronbek Olmosov Yashin o‘g‘li – Qashqadaryo viloyat adliya boshqarmasi Inson resurslari sho‘basi bosh maslahatchisi lavozimiga tayinlandi.
D.Olmosov – Shu kunga qadar Ko‘kdala tumani adliya bo‘limi Yuridik xizmat ko‘rsatish markazi boshlig‘i lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi Olmosov Davronbek Yashin o‘g‘lini - tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Biz ijtimoiy tarmoqlarda:
🔵• facebook |🎬• youtube |🌐• rasmiy sayt |🚀• telegram |📷 • instagram