Что делать если нужно поставить какую-то 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
Bugun 2024-yil 11-yanvar soat 17:00 da O‘zbekistonning beshta oliy o‘quv yurtlari talabalari #Tech4Good finalida Jazoir, Singapur, Italiya, Chili, BAA, Kolumbiya, Germaniya, Braziliya va Namibiya jamoalari qatorida “Aquatibia” loyihasini taqdim etadi.
Jonli efirga qo'shiling! Qishloq xo'jaligi va suv resurslarini boshqarishda barqarorlikni ta’minlaydigan innovatsion loyiha haqida batafsil bilib oling!
Jonli efir uchun havolalar:
Minisayt - https://www.huawei.com/minisite/seeds-for-the-future/tech4good.html
Youtube - https://www.youtube.com/watch?v=-63QbBkJwww
🔹🔹🔹
Сегодня 11-го января, 2024 в 17:00 студенты пяти ВУЗов Узбекистана представят свой проект “Aquatibia” в финале #Tech4Good наряду с командами из Алжира, Сингапура, Италии, Чили, ОАЭ, Колумбии, Германии, Бразилии и Намибии.
Подключайтесь к прямому эфиру! Узнайте больше об инновационном проекте, способным внести устойчивость в сельское хозяйство и управление водными ресурсами!
Ссылки на прямой эфир:
Минисайт - https://www.huawei.com/minisite/seeds-for-the-future/tech4good.html
Youtube - https://www.youtube.com/watch?v=-63QbBkJwww
@mitcuz@newuzbekistanuniversity@inha_uz@AmityUniversityTashkent@kiut_official@tuituz_official@eduuz
Participants of the #SeedsForTheFuture educational program from Uzbekistan won the regional #TECH4GOOD competition in Dubai 🥳
👉🏼 The Techno Mind team, consisting of eight students from Uzbekistan, in particular 3 students from Amity University in Tashkent, took first place in the competition for the best project #TECH4GOOD, presenting the project "Aquatibia".
A team from Uzbekistan took part in the competition along with 6 teams from Azerbaijan, Jordan, Kazakhstan, Qatar, Mongolia and the UAE. Techno Mind got a chance to compete in the global competition #TECH4GOOD for the main prize - project funding in the amount of $100,000 💵
“Yangi O‘zbekiston” universiteti talabalari “Seeds for the future”loyihasida g'olib bo'lishdi!
🌐Qatar poytaxti Doha shahrida 2–9-sentabr kunlari bo‘lib o‘tgan “Seeds for the future” loyihasida O‘zbekistondan 15 nafar talaba muvaffaqiyatli ishtirok etib, 8 nafari keyingi bosqichga o'tdi.
✅ “Yangi O‘zbekiston” universiteti talabalari Zulfiya Usmonova, Otabek Atabayev loyihada g'oliblikni qo'lga kiritib, Tech4Good akseleratsiya dasturidan o‘tish uchun Dubayga jo‘nab ketmoqda.
🎗Talabalarimizga mazkur bosqichda ham omad tilab qolamiz!
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#SeedsfortheFuture#tech4good
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
#Tech4Good loyihasining People's Choice Award birinchi bosqichida O‘zbekistonning “Techno Mind” jamoasiga ovoz bergan barchaga minnatdorchilik bildiramiz!
Ular ikkinchi bosqichga o'tishdi va biz yana sizning qo‘llab-quvvatlashingizga muhtojmiz!
Havola orqali o‘ting va O‘zbekistonning barqaror rivojlanishi uchun katta ahamiyatga ega bo‘lgan #Aquatibia innovatsion loyihasiga ovoz bering!
Ovoz berish uchun havolaga o'ting:
Instagram:
https://www.instagram.com/p/C133bsrhmCc/
Twitter:
https://twitter.com/Huawei/status/1744636051140870421
🫥🫥🫥
Благодарим всех, кто проголосовал за команду "Techno Mind" из Узбекистана в первом раунде на People's Choice Award проекта #Tech4Good!
Ребята прошли во второй раунд и нам вновь нужна ваша поддержка!
Переходите по ссылке и голосуйте за инновационный проект #Aquatibia, реализация которого будет иметь большое значение для устойчивого развития Узбекистана!
Ссылки на голосование:
Instagram:
https://www.instagram.com/p/C133bsrhmCc/
Twitter:
https://twitter.com/Huawei/status/1744636051140870421
@mitcuz@newuzbekistanuniversity@inha_uz@AmityUniversityTashkent@kiut_official@tuituz_official@eduuz
“Seeds for the future” loyihasi g‘oliblari taqdirlandi
✅ Huawei kompaniyasi tomonidan o'tkazilgan “Seeds for the future 2023” loyihasi “Tech4Good” tanlovida g‘olib bo‘lgan O‘zbekiston jamoasi Raqamli texnologiyalar vazirligi tomonidan taqdirlandi.
🛫Tez orada mazkur jamoa Xitoyda o‘tkaziladigan ta'lim dasturlarida ishtirok etish uchun jo‘nab ketadi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#huawei#seedsforthefuture#tech4good
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Seeds for the Future 2023” taʼlim loyihasida gʻolib boʻlgan universitetimiz talabalari BMTning iqlim o‘zgarishi bo‘yicha COP-28 konferensiyasida ishtirok etishadi
✅ Joriy yilning sentabr oyida Qatar va BAAda oʻtkazilgan “Seeds for the Future 2023” taʼlim loyihasi doirasida mintaqaviy Huawei Tech4Good tanlovida gʻolib boʻlgan "Yangi O'zbekiston" universiteti talabalari Dubayda bo’lib o’tayotgan BMTning iqlim o‘zgarishi bo‘yicha COP-28 konferensiyasi doirasidagi “Seeds Tour” va Huawei tadbirlarida ishtirok etishga taklif etildi.
📌COP-28 tadbirlariga to'g'ri keladigan "Talent & Green Summit" sammiti 5-dekabr kuni bo'lib o'tadi va unda 22 mamlakatdan "Seed for the Future 2.0" ta'lim dasturining 36 nafar ishtirokchisi qatnashadi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#huawei#seedsforthefuture#tech4good
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
⚡️Talabalarimiz Zulfiya Usmonova hamda Otabek Atabayevlar Dubayda o'tkazilgan "Seeds for the future" dasturida g'olib bo'lishdi!
💥O‘zbekistonlik🇺🇿 sakkiz nafar talabadan iborat “Techno Mind” jamoasi “Aquatibia” loyihasini taqdim etgan holda #TECH4GOOD eng yaxshi loyihasi tanlovida birinchi o‘rinni egalladi.
🎉 Ushbu g'alabasi bilan "Techno Mind" jamoasi #TECH4GOOD global tanlovida bosh sovrin – 100 000 AQSh dollari miqdoridagi loyihani moliyalashtirish uchun qatnashish imkoniyatini qo‘lga kiritdi.
🎗Talabalarga keyingi bosqichda ham omad tilaymiz!
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#SeedsForTheFuture#Huawei
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Uzbekistan Techno Mind jamoasi “Aquatibia” loyihasi bilan Tech4Good global finalida
✅ "People's Choice Award" ovoz berishning 1-bosqichi 2024-yil 8-yanvar soat 20:59 gacha davom etadi.
❗️Jamoamizni o’z ovozingiz bilan qo'llab quvvatlang!
📣Ovoz berish uchun havolaga o'ting:
Twitter:https://twitter.com/Huawei/status/1743203307101855856
Instagram:https://www.instagram.com/p/C1tsWBIhQKq/
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#aquatibia#Tech4good#huawei
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
O‘zbekiston jamoasini muvaffaqiyatli g‘alaba bilan tabriklaymiz!
💥 “Techno Mind” jamoasi “Aquatibia” loyihasi bilan Tech4Good global finalida ishtirok etib, “Silver Award” (ikkinchi o'rin)ni qo‘lga kiritdi.
🏆 Shuningdek, “People's choice award” tanlovida ham O‘zbekiston jamoasi g'oliblar qatoridan o'rin egalladi.
💧Aquatibia – qishloq xo‘jaligi uchun raqamli texnologiyalardan foydalangan holda integratsiyalashgan suv filtrlash tizimini yaratish loyihasi hisoblanadi.
🎗Yoshlarimizdan kelajakda bundanda yuqori natijalarni kutib qolamiz!
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#SeedsfortheFuture#Aquatibia#global_final#winners#Tech4Good#TechnoMind
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Toshkent shahridagi Inha universitetida Yaqin Sharq va Markaziy Osiyo mintaqasining 14 mamlakatidan kelgan #SeedsForTheFuture ishtirokchilari uchun “Wi-Fi 7 yordamida sanoat intellektini tezlashtirish” mavzusidagi Tech Talk bo‘lib o‘tdi.
Tadbirda #ImagineWiFi7 tanlovi g‘oliblari e’lon qilindi. G‘oliblardan biri Toshkent shahridagi Inha universiteti talabasi Abror Musulmonov bo‘ldi.
#Day4#Tech4Good tanlovining finaliga tayyorgarlik bilan yakunlandi
#UZ_SeedsForTheFuture#Uzbekistan#DigitalSilkRoad
🌱🌱🌱
В Университете Инха в Ташкенте прошёл Tech Talk на тему «Ускорение промышленного интеллекта с помощью Wi-Fi 7» для участников #SeedsForTheFuture из 14 стран региона Ближнего Востока и Центральной Азии.
На мероприятии были объявлены победители конкурса #ImagineWiFi7. Одним из победителей стал Аброр Мусульмонов, студент Университета Инха в Ташкенте.
#Day4 завершился подготовкой к финалу конкурса #Tech4Good
#UZ_SeedsForTheFuture#Uzbekistan#DigitalSilkRoad