Что делать если нужно поставить какую-то 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
🇮🇪 ¿La primera rebelión en Europa contra los gobiernos 'woke'?
En Irlanda, un nuevo grupo emergente que se llama a sí mismo el Nuevo Movimiento Republicano ha declarado a los funcionarios locales como "objetivos legítimos".
El grupo afirma que sus acciones están impulsadas por la ira frente a las políticas de inmigración masiva y la presión por el adoctrinamiento sexual de los niños en las escuelas del país.
Aquí todas estas cosas siempre hay que tomarlas con mucho escepticismo. ¿Será la primera vez que estos gobiernos usan a supuestos grupos al margen de la ley como excusas para poder justificar la implementación de medidas y leyes extremadamente duras contra la población en pro de 'garantizar la seguridad'?
¿Será la repetición de la ya conocidaOperación Gladio?
#irlanda
———
Únete a la lucha por la verdad en
📱Telegram
📱YouTube
📱X (Twitter)
#Irlanda#transportes Huelga salvaje de choferes de buses en Limerick, Munster. https://www.live95fm.ie/news/live95-news/huge-disruption-as-no-buses-operating-in-limerick-due-to-unofficial-dispute/
#Elezioni#Irlanda#Referendum
Risultati definitivi:
Affluenza: 44,36%
"Sei favorevole al 40esimo emendamento, che prevede l'eliminazione dei riferimenti alla "vita domestica" e ai "doveri domestici" della donna nella Costituzione, con l'aggiunta di un nuovo articolo sulla cura familiare?"
No: 73,93%
Sì: 26,07%
❌Referendum bocciato❌
Con il 73,93% dei voti contrari, questo referendum rappresenta la più grande sconfitta nella storia dei referendum irlandesi, sorpassando il record del 2015, quando il 73,06% votò contro il ridurre l'età minima per candidarsi alla carica di Presidente da 35 a 21 anni.
@OsservatorioEsteri
#Elezioni#Irlanda#Referendum
Risultati definitivi:
Affluenza: 44,36%
"Sei favorevole al 39esimo emendamento, che prevede la modifica dell'articolo 41 della Costituzione (inserendo le parole “fondati sul matrimonio o su altre relazioni durevoli” e l'eliminazione delle parole “su cui si fonda la Famiglia”)?"
No: 67,69%
Sì: 32,31%
❌Referendum bocciato❌
@OsservatorioEsteri
San Patrizio non è solo trifogli, cappellini verdi e birra .
È anche storia, rivolta, sangue versato per l’identità di un popolo.
Oggi, giorno in cui l’Irlanda viene celebrata nel mondo, vi portiamo davanti alla tomba di Bobby Sands a Milltown Cemetery, Belfast.
Un ragazzo di 27 anni che ha scelto di morire per difendere la libertà di un popolo intero.
La lotta non è finita con lui nel 1981.
Vive ancora in ogni pietra, in ogni ricordo.
Buon Lá Fhéile Pádraig, ma ricordate: l’Irlanda vera porta anche cicatrici. 🇮🇪
#irlanda#accaddeoggi#storia#politica#notizie
#Irlanda. Disturbios en barrios populares de Dublín tras ataque a cuchillo a niños de primaria por un desequilibrado, instrumentalizados y animados por la extrema derecha -aprovechando que el atacante tenía origen argelino- y convertidos en #saqueos
https://www.irishtimes.com/crime-law/2023/11/24/dublin-attack-and-riots-how-thursday-unfolded/
La respuesta de los políticos, los medios, sus opinadores... echa a los chavales en brazos de la extrema derecha en una respuesta tipicamente clasista que se niega a entender que son el producto de algo a medio camino del miedo a la lumpenización y la lumpenización misma
https://www.irishtimes.com/opinion/2023/11/24/fintan-otoole-these-pitiful-thugs-do-not-act-for-us-speak-for-us-or-burn-buses-for-us/
Aunque se publique alguna tibia voz disidente
https://www.irishtimes.com/opinion/2023/11/26/spicebag-youll-never-see-eye-to-eye-with-someone-who-thinks-youre-an-animal/
En #Francia, casi al mismo tiempo, una fiesta de pueblo de 500 habitantes acaba en batalla campal entre adolescentes y jóvenes del banlieu (que habían sido parados por el guardia de la entrada por no haber reservado y llevar cuchillos) y los asistentes (menos otros amigos suyos que habían llegado horas antes y tomado parte en la fiesta sin problemas). Resultado, un chico del pueblo muerto a cuchilladas.
https://www.marianne.net/societe/police-et-justice/on-est-la-pour-tuer-des-blancs-deroulement-de-la-soiree-ce-que-l-on-sait-a-ce-stade-du-drame-de-crepol
La extrema derecha exprime la oportunidad de presentarlo como algo ligado a las #migraciones e intenta tomar el pueblo, sin éxito
https://www.lemonde.fr/societe/article/2023/11/26/meurtre-de-thomas-a-crepol-des-militants-d-extreme-droite-samedi-soir-a-romans-sur-isere-pour-en-decoudre_6202465_3224.html
#Irlanda
Leo #Varadkar (#FG|EPP) ha rassegnato le dimissioni dalla carica di Primo Ministro e da leader di FG, dopo i pessimi risultati ottenuti dal governo nel referendum dell'8 marzo.
@OsservatorioEsteri
#Irlanda
Crisi di Governo anche in Irlanda. Il Taoiseach Micheál #Martin (#FF|RE) e il suo Governo hanno perso la maggioranza dopo che Joe #McHugh (#FG|EPP) è stato sospeso per aver rimesso la Whip durante una votazione volta a risarcire i proprietari di case le cui proprietà sono state colpite dallo scandalo Mica.
Aggiornamenti su ▶️@UltimoraPolitics24
@UltimoraPolitics
#UE#EuroParlamento
Con 515 voti favorevoli, 74 contrari e 44 astensioni, l'Europarlamento ha approvato una mozione che stabilisce che a partire dalla prossima legislatura, il Parlamento Europeo passerà da 705 a 720 seggi. Di seguito i cambiamenti:
#PaesiBassi: +2 seggi
#Francia: +2
#Spagna: +2
#Belgio: +1
#Danimarca: +1
#Irlanda: +1
#Lettonia: +1
#Austria: +1
#Polonia: +1
#Slovenia: +1
#Slovacchia: +1
#Finlandia: +1
@OsservatorioEsteri
#Elezioni#Irlanda#Presidenziali
Risultati del 1° conteggio:
Catherine #Connolly (supp. #SF-#LAB-#SD-#PBP-#S-#GP-#Redress)|LEFT|S&D|G/EFA: 63,36%
Heather #Humphreys (#FG|EPP): 29,46%
Jim #Gavin (#FF|RE): 7,18%
Catherine Connolly eletta nuova Presidente della Repubblica d'Irlanda.
In foto, la mappa del voto.
@OsservatorioEsteri