Что делать если нужно поставить какую-то 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
Ona tilimiz – milliy gʻururimiz va birdamligimiz timsoli
Bugun Oʻzbek tiliga davlat tili maqomi berilgan kun. Bu sana – xalqimizning tarixiy gʻalabasi, milliy o‘zligimiz va mustaqil fikrimiz timsoli. Ona tilimizni ardoqlash, uni asrab-avaylash va yanada rivojlantirish – har birimizning muqaddas burchimizdir.
—
Узбекский язык – это наша гордость, наша честь и символ единства
Сегодня мы отмечаем день, когда нашему языку был придан статус государственного языка. Это не просто дата в календаре – это знак национального самосознания и духовной независимости.
Любовь к родному языку и оказание содействия его развитию – долг каждого из нас.
#OnaTilim
👉@OlympicUz
olympic.uz I YouTube I Instagram I
#OnaTilim chellenjida ishtirok eting!
🖌21-oktyabr — O‘zbek tili bayrami kuni munosabat bilan Yoshlar ishlari agentligi #OnaTilimchellenjiga start berdi!
Tilimizning boy va betakror so‘zlarini birgalikda qayta kashf etamiz!
Yoshlar orasida kam ishlatiladigan so‘zlarni toping, ularning ma’nosini ayting va 1,5 daqiqagacha bo‘lgan ijodiy videoni tayyorlang.
🔹Videoni Instagram sahifangizga #OnaTilim heshtegi bilan joylashtiring va Yoshlar ishlari agentligini belgilang.
Eng yaxshi kontent egalari esdalik sovg‘alar bilan taqdirlanadi.
☑O’zbekiston Milliy universiteti
#video
#onatilim
“Milliy tilni yo'qotmak millatning ruhini yo'qotmakdur”, degan edi Abdulla Avloniy.
Hasanxon Yahyo domladan ona tili, so'zga e'tibor borasidagi fikrlarini tinglang.
🌐Sayt✈️Telegram✅Murojaat♾️Muhokama📱Instagram
#til#onatilim
Til – davlat timsoli, mulki, ruhi, millatning madaniy va ma’naviy boyligi, xalqning madaniyati, urf-odati, uning turmush tarzi, tarixidir.
1989 yilning 21 oktyabr kuni Vatanimizda davlat tilining huquqiy asoslarini belgilash bo‘yicha “Davlat tili to‘g‘risida”gi Qonun qabul qilinib, unga ko‘ra O‘zbek tiliga - Davlat tili maqomi berildi. Xalqimizning muqaddas qadriyatlaridan biri bo‘lgan ona tilimiz o‘zining qonuniy maqomi va himoyasiga ega bo‘ldi.
Shuningdek, 2020 yilning 10-aprel kuni O'zbekiston Prezidenti Shavkat Mirziyoyev «O'zbek tili bayrami kunini belgilash to'g'risida»gi qonunni imzoladi.
Qonunga asosan, 21-oktyabr O'zbek tili bayrami kuni etib belgilangan.
Fanlar akademiyasi Davlat va huquq instituti jamoasi barcha yurtdoshlarimizni O'zbek tili bayrami kuni bilan tabriklaydi.
📣Bizni ijtimoiy tarmoqlarda kuzating!
Web-sayt | Telegram | Facebook | You Tube
🇺🇿Qadring baland bo‘lsin, ona tilim!🌺
Ona tili — millatning g‘ururi, elning iftixori, xalqning bebaho boyligi.
Bugun, 21-oktyabr — o‘zbek tiliga davlat tili maqomi berilgan kun. Ushbu sana yuragimizda faxr, g‘urur va mehr tuyg‘ularini uyg‘otadi.
Til — bu millatning ruhi. Uni asrash, e’zozlash va avlodlar qalbiga mehr bilan singdirish — har birimizning muqaddas burchimizdir.
🎉 “Temiryo‘lkargo” AJ jamoasi barcha yurtdoshlarimizni ushbu qutlug‘ bayram — O‘zbek tili kuni bilan samimiy muborakbod etadi!
Keling, ona tilimizni har kuni qadrlaylik, so‘zini ardoqlaylik va uni faxr bilan qo‘llaylik! 💫
#OnaTilim#TilBayrami#Temiryolkargo
https://t.me/utycargo
utycargo.uz
📱facebook /📱x.com /📱web sayt/📱linkedin.com/📱instagram
#tilbayrami
#onatilim
#ozbektili
🇺🇿21-OKTABR – O‘ZBEK TILIGA DAVLAT TILI MAQOMI BERILGAN KUN!
✨ Til — millatning ruhi, xalqning yuragi, tarix va madaniyatining abadiy timsolidir. Bizning ona tilimiz — O‘zbek tili, ajdodlarimizning bizga qoldirgan eng bebaho merosidir.
⚡️ Har bir so‘zida mehr, har bir ohangida g‘urur mujassam bu til bizni birlashtiradi, yagona xalq sifatida iftixor bilan boshimizni baland ko‘tarishga undaydi.
🤝 Keling, bugun va har kuni ona tilimizga ehtirom bilan munosabatda bo‘laylik — uni sevaylik, asraylik va kelajak avlodlarga sof holda yetkazaylik.
🌿Til — millat ko‘zgusi, elning sha’ni va g‘ururi. Ona tilimiz barhayot bo‘lsin, so‘zimiz, ruhimiz, birligimiz abadiy bo‘lsin!
🌐Rasmiy sahifalarimizga obuna bo‘ling!
Oʻzbek tili – millat faxri!🌸
Bugun “Temiryoʻlkargo” AJ yoshlari Oʻzbek tiliga davlat maqomi berilgan kunni oʻzgacha ruhda nishonlashdi!🎉
Til bayrami doirasida ular oʻzaro chelenj uyushtirib, ish faoliyatida eng koʻp ishlatiladigan soʻzlarning oʻzbekcha muqobillarini oʻrganishdi. 💬🇺🇿
Koʻtarinki kayfiyat, ijobiy energiya va ona tilimizga boʻlgan mehr — bugungi bayramning eng asosiy mezoni boʻldi! 💫
#OnaTilim#TilBayrami#Temiryolkargo#YoshlarBirligi#OnaTilgaEhtirom
Узбекский язык - гордость нации! 🌸
Сегодня молодежь АО "Темирйулкарго" в особом духе отметила день, когда узбекскому языку был присвоен статус государственного!
В рамках праздника языка они организовали челлендж и изучили узбекские эквиваленты наиболее часто используемых слов в своей профессиональной деятельности.
Приподнятое настроение, позитивная энергия и любовь к родному языку стали главным критерием сегодняшнего праздника!
#МойРоднойЯзык#ЯзыковойПраздник#ЖелезнодорожныйКарго#ЕдинствоМолодежи#УважениекРодномуЯзыку
https://t.me/utycargo
utycargo.uz
📱facebook /📱x.com /📱web sayt/📱linkedin.com/📱instagram