Что делать если нужно поставить какую-то 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
#FAXR
⭐️O‘rta Chirchiqlik o‘quvchilar respublika tanlovida faxrli 2-o‘rin sohibiga aylandi
✍️O‘rta Chirchiq tumanidagi 72-sonli umumta’lim maktabi o‘quvchilaridan tashkil topgan “Eco Leaders” jamoasi “Siz ekologiyaga oid qonunlarni bilasizmi?” ko‘rik-tanlovining respublika bosqichida faol ishtirok etib, yuksak natijani qo‘lga kiritdi.
🔵Joriy yilning 12–14 mart kunlari Toshkent shahrida bo‘lib o‘tgan mazkur nufuzli tanlovda mamlakatimizning 14 ta hududidan saralangan g‘olib jamoalar o‘zaro bilim va mahoratlarini namoyon etdilar. Qizg‘in va murosasiz bellashuvlarga boy bo‘lgan tanlov yakunida O‘rta Chirchiq tumani 72-maktabining “Eco Leaders” jamoasi munosib ishtirok etib, faxrli 2-o‘rinni qo‘lga kiritdi.
🤩Tanlov natijalariga ko‘ra jamoa 12 million so‘m pul mukofoti, faxriy yorliqlar hamda esdalik sovg‘alar bilan taqdirlandi. Ushbu yutuq maktab jamoasi, o‘qituvchilar va o‘quvchilarning ekologik bilimlarni targ‘ib qilish, tabiatni asrash va ekologik madaniyatni yuksaltirish yo‘lida olib borayotgan samarali ishlarining yana bir yorqin natijasi bo‘ldi.
⭐G‘olib jamoa a’zolarini ushbu munosib yutuq bilan samimiy muborakbod etamiz hamda kelgusida ham ularga yanada yuksak marralarni zabt etishlarini tilaymiz
🌍🌍🌍🌍🌍🌍
Kanalni yaqinlaringiz bilan ulashing
❤https://t.me/toshkentv_xtb| 🌐Facebook|
🔎Veb-sayt | 🌐Instagram|▶️YouTube
👍@ToshvilmmtbgamurojaatBot
#Faxr
Maktab o‘quvchilari muddatidan oldin talabalik maqomiga erishdi
Buxoro shahar 35-maktabining 10-sinf o‘quvchilari — Mirzojon To‘rayev va Behruzjon Toirov o‘zlari tanlagan ta’lim yo‘nalishlari bo‘yicha oliy ta’lim muassasalariga kirish uchun talab etiladigan fanlardan milliy sertifikatlarni muvaffaqiyatli qo‘lga kiritdi.
Ular yuqori natija ko‘rsatib, oliy ta’limga kirish uchun belgilangan maksimal — 189 ballni jamg‘ardi. Mazkur ko‘rsatkich yoshlarning hali maktab partasidayoq muddatidan oldin talaba bo‘lish imkoniyatini qo‘lga kiritganini anglatadi.
Bu muvaffaqiyat — o‘quvchilarning tinimsiz mehnati, ustozlarning fidokorona sa’y-harakati hamda ta’lim muassasasida yaratilgan samarali va motivatsion o‘quv muhitining yorqin natijasidir.
Yoshlarimizning bunday yutuqlari boshqalarga ham ibrat bo‘lib, kelajak avlodni yanada yuksak marralar sari ruhlantiradi.
🌎Veb-sayt📱Telegram📱Facebook📱You Tube📱Instagram
🇺🇿 Bu safar O'zbekiston va Universitetim bayrog'ini ko'tardim!
Jamoamiz bilan yangi o'quv yilini ham yaxshi kayifiyatda boshlab oldik. Yangi o'quv yili barcha talabalarga xayrli va manfaatli bo'lsin.
Ohirgi bosqichga ham yetib keldim, 1 yildan so'ng universitetni tamomlayman.
P.S/ Xudoga shukur 1,2,3 va 4 kursda ham bayrog'imizni o'zim ko'tardim, maktabda ham o'zim ko'tarar edim)
🙌Xalqaro darajada, boshqa yurtlarda ham bayrog'imizni ko'klarga ko'tarish nasib qilsin!
#Faxr
@isakovxusniddin
#faxr
BYD o'z kuchini ko'rsatdi : 3:0
O’zbekiston terma jamoasi tarix yozdi. Jahon chempionatiga chiqqan jamoamizni va xalqimizni kanalimiz nomidan tabriklaymiz!
#faxr
#yangiruhiyat
Missiya bajarildi – O‘zbekiston yoshlari Ginnes rekordini yangiladi
«Yangi O‘zbekiston» bog‘ida tarixiy voqea sodir bo‘ldi. 1946 nafar iste’dodli yosh muhandis bir vaqtning o‘zida 1946 ta kichik robotni yig‘ib, Ginnes rekordini o‘rnatdi.
Bizni ijtimoiy tarmoqlarda kuzating!
| Telegram | Facebook | Youtube|Instagram|
#ШИДДАТКОР_МУТАСАДДИ
ХИЛОЛА УМАРОВА;
#faxr
Muhammad al-Xorazmiy nomidagi ixtisoslashtirilgan maktab o‘quvchilari Elbek Zohidjonov va Asilbek Sunnatov AQShning Massachusetts Institute of Technology (MIT) universitetiga 100 foizlik grant asosida o‘qishga qabul qilindi. Bugun ushbu yigitlar universitetimizga yoʻqlab kelganda xursand boʻldim.
Oʻzbek yoshlari juda iqtidorli, bilimli. Davlatimiz rahbari boshchiligida ular uchun juda katta imkoniyatlar yaratilmoqda. Men ishonaman, hali koʻp qorakoʻzlarimiz MIT kabi dunyoning eng noyob va iqtidorli yoshlarini saralab oladigan TOP universitetlarga grant asosida qabul qilinadi.
Barakalla, yigitlar, sizlar faxrimizsiz! Katta natijalarga erishing, yuksak ilm choʻqqilarini zabt eting, Vatanimiz nomini hamisha baland tuting!
БАТАФСИЛ
https://www.facebook.com/share/p/18BL9kzaEX/
ХАВОЛАДА.
@Deputatlar_minbari
@Yangi_deputatlar_minbari
🌟Талабаларимиз CEFR сертификатларини қўлга киритишди!🌟
🤝ADC талабалари имтиҳонлардан муваффақиятли ўтиб, CEFR сертификатларини қўлга киритишганини мамнуният билан эълон қиламиз! 🎓✨ Бу ютуқлар улар учун янги имкониятлар ва истиқболларни очади.
💪 Сизнинг меҳнатингиз ва муваффақиятга интилишингиз муносиб мукофотлар олиб келди. Энди сизларни янги чегаралар ва ёрқин имкониятлар кутмоқда! 🌍🚀
🤝ADC сизлардан фахрланади ва янги чўққиларни забт этишингизда ёрдам бериб боради. 📚🏆
Табриклаймиз ва келгусида ҳам улкан ютуқлар тилаймиз! 🎉🎈
#ADCMuvaffaqiyati#CEFR#ADCTa'limMarkazi #InglizTili#ChetEldaTa'lim #Ta'lim #Muvaffaqiyat#YangiImkoniyatlar#Faxr#Motivatsiya#G'alabalar"