Что делать если нужно поставить какую-то 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
#VenerdìSanto In diretta dalla basilica di San Pietro in Vaticano, la solenne azione liturgica della Passione del Signore presieduta da Papa #LeoneXIV👇
https://www.youtube.com/watch?v=03pYP2Nmreo
A questo link i testi per seguire la #ViaCrucis del #VenerdìSanto e pregare con Papa #LeoneXIV👇
https://www.ilquadrantenews.it/news/dallurbe/via-crucis-al-colosseo-2026-i-testi-delle-meditazioni-e-delle-preghiere/
#VenerdìSanto Prima prostrato davanti l'altare, poi in ginocchio, a piedi scalzi davanti la croce. Papa #LeoneXIV, nella basilica vaticana, presiede la solenne azione liturgica della Passione del Signore.
Come da tradizione, in questo giorno particolare, l'omelia non è pronunciata dal Pontefice, bensì dal predicatore della Casa Pontificia, padre Roberto Pasolini. “Viviamo in un mondo in cui la voce di Dio non orienta più come un tempo il cammino condiviso dell’umanità - denuncia il frate -. Non perché la voce di Dio sia venuta meno ma perché spesso è una voce tra le tante, coperta da altre voci che promettono sicurezza, progresso, benessere. Eppure il mondo continua ad essere un luogo in cui si soffre e si muore, spesso senza colpa e senza ragione. Le #guerre non si fermano, le ingiustizie si moltiplicano e i più fragili sono quelli che ne fanno le maggiori spese”.
“È come se mancasse una parola capace di tenere insieme il cammino dell’umanità, un canto che sappia orientare positivamente i nostri passi verso un mondo più giusto e fraterno - l’analisi del religioso -. Eppure, se guardiamo bene, c’è qualcosa di sorprendente: una schiera silenziosa di persone che scelgono di dare ascolto ad una voce diversa. Alcuni la riconoscono chiaramente come la volontà di Dio, altri la sentono come un appello profondo e irrinunciabile della propria coscienza”.
“È una voce che non grida, che non si impone con la forza, che non propone scorciatoie - ha commentato Pasolini -. È un canto discreto e ostinato che invita ad amare, a restare, a non restituire mai il male ricevuto. Sono uomini e donne normali, che percorrono talvolta senza nemmeno saperlo la stessa via del servo del Signore. Non compiono gesti straordinari, semplicemente ogni giorno si alzano e provano a fare della loro vita qualcosa che non serve solo a loro, ma anche agli altri. Portano pesi che non hanno scelto, accolgono ferite senza indurirsi, non smettono di cercare il bene, anche quando sembra inutile. Non fanno rumore, non occupano la scena, ma tengono aperta la possibilità di un mondo diverso. È grazie a loro che il male non ha l’ultima parola, che la storia non si sta chiudendo nella violenza.”
“Questo #VenerdìSanto è stata concessa la possibilità di percorrere la Via Dolorosa a sei frati, guidati dal Custode di Terra Santa, padre Francesco Ielpo e sotto lo sguardo di più di duecento militari”. Lo fa sapere padre Ibrahim Faltas, responsabile delle scuole della Custodia, e tra i sei frati ammessi a partecipare alla Via Crucis a #Gerusalemme.
“Sessanta giornalisti non hanno potuto seguire la Via Crucis – spiega il frate -. È stato un momento di preghiera intensa e profonda, mentre meditavamo sulla Passione e Morte di Nostro Signore, il pensiero era continuamente rivolto all’umanità ferita, offesa, oltraggiata dalle guerre. È stato particolarmente triste percorrere vie silenziose e vuote che di solito sono affollate e rumorose”.
“La pesante situazione di guerra che sconvolge ulteriormente il Medio Oriente dal 28 febbraio scorso, ha raggiunto anche la Città Santa - ricorda padre Faltas -. Limitazioni di ingresso e di circolazione nella Città Vecchia e la chiusura del Santo Sepolcro e del Cenacolo già durante la Quaresima non hanno permesso di celebrare le liturgie del Triduo Pasquale alla presenza di fedeli. Era stata impedita nei venerdì di Quaresima la devozione della via Crucis, pratica religiosa guidata dai Frati della Custodia di Terra Santa”.
Il pensiero di padre Faltas va al #Colosseo, dove stasera Papa #LeoneXIV porterà la croce durante la Via Crucis, le cui meditazioni sono state preparate da padre Francesco Patton, già Custode di Terra Santa. “È questo motivo di gioia e di orgoglio per la nostra missione che continua sulla strada indicata da San Francesco a custodire i Luoghi Santi, a dare sostegno e conforto a chi li abita” conclude il frate.
Al #Colosseo la prima #ViaCrucis del #VenerdìSanto di Papa Prevost. #LeoneXIV porta la croce per tutte le stazioni, dall'interno dell'anfiteatro fino alla terrazza del Palatino dalla quale imparte la solenne benedizione. Oltre ventimila i fedeli presenti, che hanno accompagnato il pio esercizio pregando con torce e candele in mano.
Fil rouge della serata, le meditazioni di padre Patton ispirate alla vita di San Francesco d'Assisi: "Nel cammino sulle tue orme non importa quante volte cadiamo, importa solo che Tu ci sei accanto e sei disposto a risollevarci una volta ancora, innumerevoli volte, perché il tuo amore, il tuo perdono, la tua misericordia sono infinitamente più grandi della nostra fragilità. Sostienici nella nostra incredulità e dacci la grazia di credere che ci puoi rialzare".