Что делать если нужно поставить какую-то 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
#hashar
💐Obodlik ko‘ngildan boshlanadi
🌿Umumxalq hashari doirasida Toshkent viloyati Maktabgacha va maktab ta’limi boshqarmasida hamda tizimidagi barcha ta’lim muassasalarida ham keng ko‘lamli obodonlashtirish ishlari amalga oshirildi.
Jumladan ayni damga qadar:
5239 dona mevali daraxt,
7202 dona manzarali daraxt ekilib,
10401 tup atirgul qalamchalari o‘tqazildi.
Shuningdek, hududlarni obodonlashtirish va parvarishlash ishlari doirasida:
15 786 dona daraxt va butalar oqlanib, shakl berildi,
5370 metr ariq va latoklar tozalandi.
Xalqimiz azaldan hasharni birdamlik, hamjihatlik va ezgu ishlar ramzi sifatida qadrlab keladi.
Shu ma’noda, “Hashar — elga yarashar!” degan hikmatli ibora bugun ham o‘z ahamiyatini yo‘qotgani yo‘q.
✅Telegram
🌐Website
📹YouTube
✅Facebook
🕊Twitter
🌐Instagram
#Hashar
✅ "Shodlik" MFY xotin- qizlar faoli va mahalla nuroniy otaxon va onaxonlar Respublika bo’ylab o’tkazilayotgan Umummxalq xayriya hasharida "Hashar-elga yarashar" shiori ostida faol ishtirok etib, hududga qarashli ko‘p qavatli uylarning yo’laklari va uy atroflarida obodonlashtirish ishlari amalga oshirish davom etmoqda.
✅ "Umumxalq xayriya hashar" ga barcha mahalladoshlarni va shahar ahlini faol ishtirok etishga chorlab qolamiz.
🇺🇿Ohangaron shahar hokimligi
Axborot xizmati
Telegram|Instagram|Youtube|Websayt|Facebook
#Hashar
✅ "Shodlik" MFY xotin-qizlar faoli va "Oqila ayollar" harakati a'zolari tomonidan Respublika bo’ylab o’tkazilayotgan Umumxalq xayriya hasharida "Hashar-elga yarashar" shiori ostida faol ishtirok etib, hududga qarashli ko‘p qavatli uylarning yo’laklari, uy atroflarida obodonlashtirish ishlari amalga oshirish davom etmoqda.
✅"Umumxalq xayriya hashar" ga barcha mahalladoshlarni va shahar ahlini faol ishtirok etishga chorlab qolamiz.
🇺🇿Ohangaron shahar hokimligi
Axborot xizmati
Telegram|Instagram|Youtube|Websayt|Facebook
#hashar
"Birlik" mahallasi Sanoat hududi korxonalardagi hashar jarayoni
🇺🇿Ohangaron shahar hokimligi
Axborot xizmati
Telegram|Instagram|Youtube|Websayt|Facebook
#hashar
"Birlik" mahallasi Sanoat hududi korxonalardagi hashar jarayoni
🇺🇿Ohangaron shahar hokimligi
Axborot xizmati
Telegram|Instagram|Youtube|Websayt|Facebook
#Hashar🌿
📎Joriy yilning 14-mart kuni Farg'ona ixtisoslashtirilgan san'at maktabida "Yurt obodligi, avvalo, maktabdan boshlanadi!" shiori ostida umumxalq xayriya hashari ko'tarinki ruhda o'tkazildi.
✅ Ustoz-murabbiylar va o'quvchilar bir yoqadan bosh chiqarib, maktab hududini obodonlashtirish, atrof-muhitni yanada go'zal qilish yo'lida fidokorona mehnat qilishdi.
✅Daraxtlar butalib, yerlar yumshatildi, ariqlar ochildi, maysa ekishga tayyorlanib urug' sepildi.
⚡️Hashar – bu nafaqat mehnat, balki birdamlik, mehr va hamjihatlik timsolidir.
Rasmiy sahifalarimizda bizni kuzating:👇
📱Telegram | 📱Instagram |
📱Facebook | 📱YouTube
#Hashar
🌱“Yurt obodligi, avvalo, mahalladan boshlanadi!”
Vazirlar Mahkamasining tegishli farmoyishiga muvofiq, umumxalq xayriya hashari o‘tkaziladi.
Joriy yilning 13–14 - mart kunlari mamlakatimiz bo‘ylab keng ko‘lamli obodonlashtirish tadbirlari tashkil etiladi.
🌳Hashar doirasida:
— mahallalar, ko‘p qavatli uylar va hovlilar atrofi tartibga keltiriladi;
— ko‘chalar, xiyobonlar, ziyoratgoh va qabristonlarda obodonlashtirish ishlari olib boriladi;
— bolalar maydonchalari ta’mirlanadi;
— daraxtlarga ishlov berilib, yangi ko‘chatlar ekiladi;
— “Yashil makon” loyihasi doirasida hududlar ko‘kalamzorlashtiriladi;
— ijtimoiy himoyaga muhtoj fuqarolarning uy-joy sharoitlarini yaxshilashga ko‘maklashiladi.
Ushbu tashabbus mahallalarda ozodalik, hamjihatlik va birdamlik muhitini yanada mustahkamlashga xizmat qiladi. Barchangizni umumxalq xayriya hasharida faol ishtirok etishga chorlaymiz!
Rasmiy sahifalarimizda bizni kuzating:👇
📱Telegram | 📱Instagram |
📱Facebook | 📱YouTube
#hashar
Хашар - символ единства и благополучия
✅ Наш народ с древних времен в разгар весны обновления, особенно накануне праздника "Навруз," усердно подходит к благоустройству и озеленению, а также к поддержанию чистоты и опрятности окружающей среды.
🔹Коллектив Межрегиональной налоговой инспекции по крупным налогоплательщикам также принимает активное участие в общенародном благотворительном хашаре 14 марта, совместно работая над очисткой инспекции и прилегающих территорий, поливом и подметанием улиц, а также обработкой деревьев и цветов.
Telegram | Facebook | YouTube | Twitter |Website
#hashar
Hashar – hamjihatlik va baraka timsoli
✅ Xalqimiz qadimdan yangilanish fasli avji bahorda, ayniqsa “Navro'z” bayrami arafasida obodonlashtirish va ko‘kalamzorlashtirish, atrof-muhitni toza va ozoda saqlash ishlariga astoydil yondashadi.
📍Yirik soliq to‘lovchilar bo‘yicha hududlararo soliq inspeksiyasi jamoasi ham 14-mart – umumxalq xayriya hasharida faol qatnashib, inspeksiya va unga tutash hududlarni tozalash, ko'chalarga suv sepib supurish, daraxt va gullarga ishlov berish kabi ishlarni hamjihatlikda olib borishmoqda.
Telegram | Facebook | YouTube | Twitter |Website