Что делать если нужно поставить какую-то 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
Qadrli o'qituvchilar va murabbiylar!
👷♀️Oʻzbekistondagi KNAUF kompaniyasi taʼlim-tarbiya fidokorlarini O'qituvchilar va murabbiylar kuni bilan tabriklaydi!
Sizga optimizm, sabr va sihat-salomatlik tilaymiz, iste'dodli va salohiyatli shogirdlaringiz doim yuzingizni yorug' qilsin. 👍
Agar siz hali yangi usta yoki pardozlash ishlariga oid zamonaviy texnologiyalarni qisqa muddatlarda o'rganishni va KNAUF sertifikatini olishni istasangiz, KNAUF o'quv markazlariga murojaat qiling. ☝️
Batafsil quyidagi havolada: 👉https://knauf.uz/academy/centers/
- - - - -
Дорогие учителя и наставники!
👷♀️Компания КНАУФ в Узбекистане поздравляет работников сферы образования с Днём учителя и наставника.
Желаем вам оптимизма, терпения и крепкого здоровья, одарённых и целеустремлённых учеников и студентов.👍
А если вы начинающий мастер или хотите в кратчайшие сроки овладеть современными технологиями отделочных работ и получить сертификат КНАУФ, обращайтесь в центры обучения КНАУФ. ☝️
Подробности доступны по ссылке: 👉https://knauf.uz/ru/academy/centers/
#knaufuzbekistan#1oktabr
Bugun Maktabgacha va maktab ta’limi vazirligi tomonidan “1-oktabr - O‘qituvchi va murabbiylar kuni”ga bag‘ishlangan bayram tadbiri o'tkazildi.
🎗Tadbirda Maktabgacha va maktab ta’limi vaziri Hilola Umarova tomonidan:
🔹universitetimiz Faxriy prezidenti Wolfgang A.Herrmann “Xalq ta’limi fidoyisi” ko‘krak nishoni bilan,
🔹Ta'lim va tadqiqot sifatini nazorat qilish bo'limi boshlig‘i Islam Elhadary esa “Xalq ta’limi a’lochisi” ko‘krak nishoni bilan taqdirlandi!
✅ Shuningdek, faxriy prezident Herrmann so‘zga chiqdi va O‘zbekistonda ta’lim tizimida amalga oshirilayotgan ishlar yuqori darajada olib borilayotganini ta'kidlab, barchani bayram bilan tabrikladi.
Bayram yuqori kayfiyatda o‘tkazildi!
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#1oktabr#taqdirlash
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
O'qituvchi va murabbiylar kuni muborak bo'lsin, aziz ustozlar!
🎉 “1-oktabr – Oʻqituvchi va murabbiylar kuni” munosabati bilan universitetimiz professor-o'qituvchilari tantanali kutib olinib, bayram tadbiri tashkil etildi.
🎗 "Yangi O'zbekiston" universiteti jamoasi yurtimizdagi barcha ustozlarni bayram bilan tabriklaydi.
🔁English
➖➖➖➖➖➖➖➖➖➖
#ustozlar_bayrami#1oktabr
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Respublika miqyosida eng fidoyi oʻqituvchilar universitetimizda jamlandi
✅ “Yangi Oʻzbekiston” universitetida “1-oktabr – Oʻqituvchi va murabbiylar kuni” munosabati bilan respublikamizning turli hududlaridan 400 ga yaqin eng fidoyi ustozlar jamlandi.
⚡️ Jumladan, akademik darajasiga erishgan hamda “Oʻzbekiston qahramoni”va boshqa yuksak davlat mukofotlariga sazovor ustozlar jamlanib, oʻzaro fikr almashmoqda.
🌐 Muloqot davomida akademiklar – Shavkat Ayupov, Risbay Jurayev, Gʻayrat Shoumarov va Xolboy Ibraimov tomonidan soʻnggi yillarda ta’lim va tarbiya borasida amalga oshirilayotgan islohotlar va oʻqituvchilarga yaratilayotgan imkoniyatlarga toʻxtalib oʻtildi.
🎗Yurtimizda faoliyat yuritayotgan barcha ustoz va murabbiylarni bayram bilan tabriklaymiz.
🔁English
➖➖➖➖➖➖➖➖➖➖
#ustozlar_bayrami#1oktabr
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Universitetimiz Ma’naviyat va yoshlar ishlari bo‘yicha prorektori Dr. Eʼzozxon Karimova “Xalq ta'limi fidoyisi” ko‘krak nishoni bilan taqdirlandi!
✅ Ixtisoslashtirilgan ta’lim muassasalari agentligida Maktabgacha va maktab ta’limi vazirligi tomonidan taqdirlangan agentlik tizimida faoliyat yurituvchi soha vakillariga ko‘krak nishonlari taqdim etildi.
Unda 1-oktabr – “O‘qituvchi va murabbiylar kuni” munosabati bilan ta’lim sohasida ko‘p yillardan beri fidokorona mehnat qilib kelayotgan prorektorimiz Eʼzozxon Karimova ham taqdirlandi!
Prorektorimizni ushbu yuksak e’tirof bilan muborakbot etamiz!
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#1oktabr#fidoyi#taqdirlash
⬇️ Biz Ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook