Что делать если нужно поставить какую-то 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
#ITCenter
Elektr bor joyda yo'llar yorug' bo'ladi, ilm bor joyda esa kelajak ...
Yo'llaringiz behatar, kelajagingiz yorug' bo'lsin 😊
@ITCenter_Yaypan jamoasi Sizga eng yaxshilarini ulashish maqsadida doim izlanishda 🚀
#ITCenter
Elektr bor joyda yo'llar yorug' bo'ladi, ilm bor joyda esa kelajak ...
Yo'llaringiz behatar, kelajagingiz yorug' bo'lsin 😊
@ITCenter_Yaypan jamoasi Sizga eng yaxshilarini ulashish maqsadida doim izlanishda 🚀
#ITCenter
Elektr bor joyda yo'llar yorug' bo'ladi, ilm bor joyda esa kelajak ...
Yo'llaringiz behatar, kelajagingiz yorug' bo'lsin 😊
@ITCenter_Yaypan jamoasi Sizga eng yaxshilarini ulashish maqsadida doim izlanishda 🚀
#ITCenter
Astrum Academy — maclar olami 😍
📍 Toshkent viloyatida joylashgan Markaziy Osiyodagi eng yirik IT o'qitish markazi. Bu yerda darslarni sun'iy intellekt o'tarkan. Muhit bomba 🔥
✅ O'qish oyiga 1 mln so'm. Eng kam o'qish muddati 1 yil. Bitiruvchilarga xalqaro sertifikat va ish uchun yirik kompaniyalardan takliflar berilar ekan.
IT sohaning rivoji yurtimizda qay darajada ekan deb yurganlarga yuborib qo'yasiz 😉
@ITCenter_Yaypan
#ITCenter
Vanihoyat, biz Sizga bu xabarni aytish uchun bir oy kutdik
Ertaga, ⏰26-fevral soat 09:00 da Web dasturlash yo'nalishi bo'yicha 😅 uzoq kutilgan ochiq dars bo'lib o'tadi
Darsni dasturlash bo'yicha 3 yillik tajribaga ega💼 mutahassis Bekzodbek Rahimov olib boradilar.
❗️O'ylaymizki, mazkur ochiq dars orqali o'quvchilar yangi guruhlar hamda IT soha haqida ko'plab tushunchalar va foydali ma'lumotlar oladilar 😊
🚀 Kelayotgan haftadan yangi guruhlar uchun darslarni boshlaymiz, barchasi ertaga ma'lum bo'ladi, hammaga omad 🤝
Aytgancha, bu xabarni dasturlashga qiziqadigan do'stlaringizga ham ulashishni unutmang❗️
@ITCenter_Yaypan
#ITCenter
IT Center'da nima gap, yangiliklar bormish 😎
Darslar bilan bo'lib kanal faoliyati bir qadar pasaygani rost 🤨
Lekin, dars jarayonlari qizg'in davom etmoqda 🚀
Markazimizdagi darslarda asosan amaliyotga ko'proq urg'uberiladi ✅ Maqsadimiz o'quvchilarimiz kurslardan so'ng o'rgangan bilimlari yordamida jamiyatda o'z o'rnilarini topishsin!
Yuqoridagi amaliy ishlarni o'quvchilarimiz dars davomida tayyorlashgan, ko'rib baho bering 😊
Ha aytgancha, bu kabi bilimlarni kompyuter savodxonligi kurslarida o'rgatamiz ☺️
Tez orada kursni muvafaqqiyatli tugatgan o'quvchilarimizga sertifikat berish marosimini ham reja qilib qo'ydik, bizni kuzatishda davom eting 🤝
Kurslar haqida batafsil ma'lumot olish va savollar uchun:
📲Adminstratorga yozing
📞 Tel: +998990009627
@ITCenter_Yaypan
#ITCenter
Avval xabar berganimizdek markazimiz hamda umumiy o'rta ta'lim maktablaridagi psixolog, texnologiya hamda informatika fani o'qituvchilari bilan hamkorlikda "Tanishtiruv kunlari" loyihasini muntazam yo'lga qo'yganmiz.
Bugun mazkur loyihani qo'llab quvvatlagan 13-maktab jamoasi markazimizga tashrif buyurdilar.
13-maktab psixologi H.Ro'ziyeva boshchiligida maktabning 15 nafarga yaqin o'quvchilari IT Center'da tashkil etilgan shart-sharoitlar, kurslar haqida batafsil ma'lumotga ega bo'ldilar.
O'quvchilar markaz faoliyatiga, IT hamda sohaga aloqador so'nggi yangiliklar bo'yicha o'zlarini qiziqtirgan savollarga javob olishdi.
IT Markaz jamoasi nomidan bugungi samimiy uchrashuv va loyihamizni qo'llab-quvvatlagani uchun 13-maktab psixologi Hilolaxon Ro'ziyevaga o'z minnatdorligimizni bildiramiz.
Bitiruvchi yoshlarni kasb-hunarga yo'naltirish bo'yicha olib borilayotgan keng islohot va loyihalarda har qachon birga ishlashga tayyor ekanligimizni ma'lum qilamiz.
IT Center menejeri I.Abdug'afforov
#ITCenter
🎯 Tuman axborot kutubxona markazining telegram kanali uchun tayyorlangan avatar va joylashuvi bo'yicha test sinov natijalari
@ITCenter_Yaypan
#ITCenter
👨💻Markazimiz tomonidan O'zbekiston tumani axborot kutubxona markazining telegram kanali uchun tayyorlangan SMM posterlar.
😊 AKM bizga kitoblar taqdim etmoqda, biz ham o'z yo'nalishimizda qo'ldan kelgancha beg'araz yordam berishga kirishdik
@ITCenter_Yaypan
#ITCenter
📞 Agar siz ushbu "telefon"dan foydalangan bo'lsangiz demak bolaligingiz anchayin mazmunli o'tgan ekan...
Hozirgi yoshlar ham bir sinab ko'ringlar, juda qiziq narsa 😉
✅Kanalimizga do'stlaringizni taklif qilishni unutmang 👉@ITCenter_Yaypan
#ITCenter
👨💻 Darslarda asosan amaliyotga ko'proq urg'u beriladi. Maqsadimiz o'quvchilarimiz kurslardan so'ng o'rgangan bilimlari yordamida o'z o'rnilarini topishsin!
✅ Barcha tashrif buyuruvchilarga va aloqaga chiqqanlarga aytadigan gapimiz: "agar o'quvchilar berilgan bilimlar va ko'nikmalarni puxta egallashsa be'malol 💰 kompyuter xizmatlari kabi shaxsiy bizneslarini boshlashlari mumkin bo'ladi.
*Yuqoridagi vizitkani o'quvchilarimiz dars davomida tayyorlashgan, ko'rib baho bering 😊
Kurslar haqida batafsil ma'lumot olish va savollar uchun:
📲Adminstratorga yozing
📞 Tel: +998990009627
#ITCenter
🏛Yaxshi ishlarda ishlamoqchisiz 😊
Lekin sizga ish beruvchi qo'yayotgan talablar yoqmayaptimi 😒
💭 Tahminiy suhbat jarayoni quyidagicha:
— Kompyuterni bilasizmi❓
— 😕
— Jadvallar bilan ishlay olasizmi❓
— ☹️
— Wordni bilasizmi❓
— 😥
— Taqdimot qilolasizmi❓
— 😰
....
— Kechirasiz ishga ololmaymiz❗️
— 😭
🏡 Oyiga 1.5 mln so'm oylik olasiz va uni bazo'r ro'zg'orga eplaysiz. Aksiga olib har oy hisobotlar, taqdimotlar, jadvallar... topshirishingiz kerak 😓
Nima qilish mumkin? Boshqalar kabi kompyuterxonalarda navbatda turishmi❓
___________________________________________
STOP ✋
Siz shunday holatlarga duch kelgansiz va bunga "davo" qidirib yurgan bo'lsangiz hozirgi taklifimiz aynan Siz uchun 🎁
Asabiylashish va qo'rqishga o'rin yo'q 💆♂️
💻 "Tezlashtirilgan kompyuter savodxonligi kurslari"ga hoziroq ro'yhatdan o'ting 📝
Ish uchun suhbatga borganda shartlarni ular emas, Siz belgilang 😉
Batafsil ma'lumot olish uchun
📲Adminstratorga yozing
📞 Tel: +998990009627
Bizning kanal 👉@ITCenter_Yaypan