Что делать если нужно поставить какую-то 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
#Sayohat
KELAJAKNING MA’NAVIY TAMAL TOSHI: YOSHLAR MUZEYLAR OLAMIDA
Toshkent viloyati prokurori Azamat Mirzayev tashabbusi bilan Toshkent tumanining yuzdan ziyod o‘g‘il-qizlari uchun unutilmas ma’rifiy sayohat tashkil etildi. Tuman prokurori v.v.b. Murodjon Shukrullayev boshchiligida yo‘lga chiqqan yosh avlod vakillari nafaqat poytaxtimizning diqqatga sazovor joylarini ko‘rishdi, balki millat tarixi va qonun ustuvorligining muqaddas dargohlariga qadam qo‘yishdi. Bu sayohat shunchaki sayr emas, balki yosh qalblarda milliy g‘urur va vatanparvarlik tuyg‘usini uyg‘otgan ma’naviy yurish bo‘ldi.
Islom sivilizatsiyasi markazi bo‘ylab qilingan sayohat o‘quvchilarda katta taassurot qoldirdi. Muhtasham binoning har bir naqshida muhrlangan buyuk ajdodlarimizning ilmiy merosi, allomalarimiz qoldirgan boy xazina yoshlar ko‘zida hayrat va iftixor uyg‘otdi. Tarixning zarrin sahifalari bilan yuzma-yuz kelgan yoshlar o‘zlarini ulug‘ ajdodlarning vorislari sifatida his qilib, ilm-fanga bo‘lgan ishtiyoqlari yana bir karra ortganini e’tirof etishdi.
Bosh prokuratura muzeyiga tashrif esa tadbirning eng muhim nuqtalaridan biri bo‘ldi. Bu yerda o‘quvchilar qonun ustuvorligi, adolat tamoyillari va prokuratura tizimining shakllanish tarixi bilan yaqindan tanishdilar. Adolat posbonlarining faoliyati haqidagi qiziqarli ma’lumotlar yoshlarning huquqiy ongini yuksaltirishga xizmat qildi. Ko‘pchilik yoshlarning ko‘zida aynan shu yerda kelajakda adolat yo‘lida xizmat qilish, yurt tinchligi va qonun himoyachisi bo‘lishdek ezgu maqsadlar shakllandi.
Mazkur tashabbusning asosiy maqsadi yoshlarni Vatanga muhabbat ruhida tarbiyalash va ularning dunyoqarashini kengaytirishdan iboratdir. Bugungi sayohatdan olingan bir olam taassurotlar o‘quvchilar xotirasida bir umr muhrlanib qoladi. Zero, o‘z tarixini bilgan, adolat va ilmning qadriga yetgan yoshlargina ertangi kunimizning ishonchli tayanchi bo‘la oladilar.
📸Jarayon fotolavhalarda.
✅Telegram💬Facebook📸Instagram📹YouTube🌍Website
#sayohat
🔹"Fargʻona suv taʼminoti" AJ direktori tashabbusi bilan sohada samarali faoliyat yuritayotgan xodimlar Samarqand va Buxoroga sayohat uyushtirildi. Aksiyadorlik jamiyati va kasaba uyushmasi qoʻmitasi hamkorligidagi 4 kunlik sahohat 45 nafardan iborat ishchi-xodimlarni yanada ruhlantirdi, desak mubolagʻa boʻlmaydi.
🔹 Qadimgi shahar ziyoratgohlari, undagi tarixiy eksponatlar va ajdodlarimizning yashash tarzi maʼlumotlari sayohatchilarga manzur boʻldi.
✅“Farg‘ona suv taʼminoti” AJ Axborot xizmati.
📱Telegram.✅Facebook.
🎞YoTube.🕊Twiter.
🌐Website.💧Instagram
#Sayohat
Muborak zavodi xodimlari uchun sayohat va davra suhbati oʻtkazildi
Tadbir Amir Temur tavalludining 690-yilligi munosabati bilan tashkil etilib, sayohat davomida ishtirokchilar tarixiy obidalar va muzey eksponatlari bilan yaqindan tanishtirildi.
👉Batafsil
👉Bizni kuzating
web-sayt | instagram|telegram | youtube | facebook
🧠💡📚#sayohat
🖼Qadimiy Samarqand shahriga 1 kunlik sayohat va ziyorat
⏰ Sayohat sanasi: 7-dekabr
📍 Tur dasturi:
🟢 Go‘ri Amir
🟢 Registon maydoni
🟢 Siyob bozori
🟢 Bibixonim maqbarasi
🟢 Xo‘ja Doniyor maqbarasi
🟢 Islom Karimov qabri
🟢 Shohi Zinda majmuasi
🟢 Samarqand City (Boqiy shahar)
⚡️Sayohat doirasida quyidagilar taqdim etiladi:
🟢Qulay va xavfsiz transfer
🟢 Gid xizmati
🟢 To‘liq tur organizatsiyasi
🟢Tarixiy obidalarga kirish imkoniyati
🟢 Do‘stona muhit va yaxshi kayfiyat
🟢 Fotosessiya
🚫 Narx ichiga kirmaydi:
🟢 Shaxsiy xarajatlar
🟢 Ovqatlanish
⏰ Toshkentdan chiqish: 05:00
⏰ Toshkentga qaytish: 22:00
📍 Ketish joyi: O‘zbekiston mehmonxonasi oldi (Amir Temur metro bekati mo‘ljal)
✅Narx bo'yichabatafsil ma’lumot va ro‘yxatdan o‘tish:YUTRIP
(ushbu xabar ostiga "+" belgisi qoldiring, sizga aloqaga chiqishadi!)
✏️Bizni kuzatishda davom eting!
🕊Telegram | 📱Instagram
📱Facebook | 📺YouTube
Qoyali togʻlar. Birinchi qism: Grand Lake atrofi
Kolorado shtatiga qilgan sayohatim haqida yozishni davom ettiraman. Bu safargisi koʻproq tabiat haqida. Amerikaning tabiati rostdan rang-barang va bunda oʻrmon va togʻlarga boy Kolorado oʻziga xos oʻrin egallaydi.
https://farhodjon.uz/travel/usa/colorado/grand-lake-and-summerland-park-june-2016/
#sayohat@FarLives🌀
Denver. Iyun 2016
Navbatdagi hikoya Kolorado shtatining Denver shahri haqida.
https://farhodjon.uz/travel/usa/colorado/denver-june-2016/
#sayohat@FarLives🌀
Yoʻlda: Kanzas-Siti → Denver. Iyun 2016.
2016-yilda Kanzas-Siti shahridan Denver shahriga borishdagi taassurotlarimni yozdim. Boshida AQShdagi magistrallar tizimi haqida maʼlumot berilgan.
https://farhodjon.uz/travel/routes/2016/kc-denver/
#sayohat@FarLives🌀
Nyu-York 2016-yilning mayida. Ikkinchi qism.
Sayohatning ikkinchi qismi. Bunisida ozroq Marin-Park, Brayton-Bich, Koni-Aylend sohili va yana Manhetten haqida. Biroz suvda ham sayr aralashgan.
Toʻliq versiyasi: https://farhodjon.uz/usa-nyc-2016-may-part-2
#sayohat
@FarLives🌀
Nyu-York 2016-yilning mayida. Birinchi qism.
Nyu-Yorkni haqiqiysiga aylanib chiqishga 2016-yilning may oyida imkoniyat boʻldi. Shu haqidagi hikoyaning birinchi qismi.
Telefonda koʻrish qulayroq va tejamliroq boʻlishi uchun Instant View integratsiya qilindi. Toʻliq (desktop) versiyasini oʻqiydiganlar uchun quyidagi havola bor.
https://farhodjon.uz/usa-nyc-2016-may-part-1
#sayohat