Что делать если нужно поставить какую-то 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
Giorgia #Meloni: “Oggi la “redazione unica”, composta da Il Fatto Quotidiano, La Repubblica, Fanpage e Report, mostra una mia foto con un esponente della criminalità organizzata per sostenere la bizzarra tesi di una mia vicinanza ad ambienti malavitosi.
Inoltre, questi signori fanno un pirotecnico collegamento con le vicende di mio padre, per dimostrare non so quale commistione con la criminalità organizzata.
Ma questi imparziali e onesti giornalisti sanno benissimo che con mio padre ho interrotto ogni rapporto all’età di 11 anni. Così come sanno benissimo che, in decenni di impegno politico, esistono decine di migliaia di foto mie con persone che chiedono semplicemente un selfie. E ciò vale per chiunque faccia politica e stia in mezzo alla gente. E sfido chiunque a trovare mie dichiarazioni o attacchi contro altri esponenti politici colti nelle stesse circostanze.
Il mio impegno contro ogni mafia è cristallino, coerente, duraturo. E ciò che abbiamo fatto al governo ne è la prova. Mentre altri liberavano dalle galere i boss mafiosi con la scusa del Covid, noi li arrestiamo e li teniamo dentro con il carcere duro, istituto che abbiamo salvato dallo smantellamento. Differenze.
Ma a questi “professionisti dell’informazione” non importa niente. Tutto serve a gettare fango nel ventilatore e a fare da grancassa mediatica agli interessi di partito. Nessun giornalismo, solo politica.
Poco importa. Non sono una persona che si fa intimidire dagli squallidi attacchi di gente in malafede.”
@UltimoraPolitics24
La premier Giorgia #Meloni dichiara: "Che il governo va avanti io l'ho detto un minuto dopo l'esito del referendum. Il giorno dopo eravamo al lavoro perché non abbiamo tempo da perdere." Sottolinea di considerare le ipotesi di voto anticipato e i rimpasti e le ricostruzioni su dimissioni come "alchimie di palazzo" che non interessano.
@UltimoraPolitics24
Giorgia #Meloni: “Il Decreto Sicurezza funziona.
Il fermo preventivo disposto per 91 soggetti dell’area anarchica, ritenuti pericolosi e arrivati a Roma per una manifestazione non autorizzata dalla Questura in memoria dei due anarchici morti il 19 marzo nell’esplosione di un ordigno che stavano confezionando, conferma quanto fosse necessaria questa norma.
Non serve a limitare la libertà di manifestare, come sosteneva certa sinistra.
Serve, al contrario, a garantire che le manifestazioni si svolgano in modo pacifico e non violento, come prevede la Costituzione, e a tutelare chi vuole esercitare quel diritto in modo civile, senza violenza e senza devastazione.
È in questa direzione che il Governo continuerà a muoversi: più strumenti per garantire sicurezza a tutti e più tutele per chi vuole manifestare pacificamente.”
@UltimoraPolitics24
La premier Giorgia #Meloni afferma: "Via libera del Parlamento europeo alle nuove regole sui rimpatri: l'Europa va finalmente nella direzione giusta, su una linea che l'Italia ha sostenuto con forza". Osserva: "Con i return hubs si amplia la possibilità di individuare una Nazione di rimpatrio per gli immigrati irregolari, includendo non solo i Paesi di origine ma anche i Paesi terzi. È un passaggio importante per rendere i rimpatri più efficaci, rafforzare il controllo dei confini e dare all'Europa una politica migratoria finalmente più credibile"
@UltimoraPolitics24
Giorgia #Meloni: "Umberto Bossi, con la sua passione politica, ha segnato una fase importante della storia italiana e ha dato un fondamentale apporto alla formazione del primo centrodestra. In questo momento di grande dolore, sono vicina alla famiglia e alla sua comunità politica."
@UltimoraPolitics24
Giorgia #Meloni: "Quando non parlo, dicono che scappo.
Quando parlo, contestano il luogo, il mezzo e pure chi mi intervista.
A questo punto il sospetto è uno: che preferirebbero semplicemente che io non esistessi.
Mi spiace, ma su questo non posso accontentarli.
Posso però invitarli a una cosa più semplice: guardare la puntata prima di commentarla."
@UltimoraPolitics24
La premier Giorgia #Meloni afferma: "Quello che noi possiamo fare adesso è rafforzare la missione Aspides, quindi parliamo del Mar Rosso. Sullo Stretto di Hormuz, chiaramente è più impegnativo, perché vorrebbe dire fare un passo avanti verso il coinvolgimento. Da una parte per noi è fondamentale la libertà di navigazione, che è oggetto anche oggi di uno statement che è stato fatto con i nostri partner. Intervenire significa oggettivamente fare un passo in avanti nel coinvolgimento".
@UltimoraPolitics24
La premier Giorgia #Meloni afferma che nel 2020, quando al governo c'era Conte con alcuni ministri del Pd e gli Usa uccisero il generale iraniano Soleimani, nessuno di loro definì quella scelta contraria al diritto internazionale né la condannò come le si chiede oggi; sottolinea di non aver insultato Conte dall'opposizione e di distinguersi da chi usa propaganda a buon mercato per raccogliere consenso.
@UltimoraPolitics24
Alla Camera sono state presentate cinque risoluzioni sulle comunicazioni della premier Giorgia #Meloni in vista del Consiglio europeo del 19 e 20 marzo 2026 e sugli sviluppi della crisi in Medio Oriente: quella della maggioranza (FdI, Lega, FI, Nm), Azione‑Italia viva‑PiùEuropa, il M5S, Avs e il Partito democratico
@UltimoraPolitics24
Giorgia #Meloni: "Permettetemi anche di fare chiarezza, ancora una volta, sul tema delle basi militari. Mi pare che tutti i partner europei si stiano attenendo a quello che prevedono i loro accordi in questa materia. Anche il governo spagnolo, di cui tanto si parla, ha detto tramite il suo portavoce che 'esiste un accordo bilaterale tra Spagna e Stati Uniti, e al di fuori di quell'accordo non ci sarà alcun utilizzo delle basi spagnole’. Il che significa che l'accordo non viene messo in discussione e che non vengono messe in discussione tutte le attività che rientrano nell'accordo. È quello che sta facendo anche l'Italia, e francamente stupisce che questa scelta venga condannata in Patria ed esaltata in Spagna dalle stesse, identiche, persone. Un po’ di logica, da questo punto di vista, non guasterebbe".
@UltimoraPolitics24
La premier Giorgia #Meloni afferma che il 22 e 23 marzo gli italiani saranno chiamati al referendum sulla riforma della giustizia e sottolinea di aver pubblicato sui social un video di 13 minuti per "fare chiarezza e rispondere alle banalizzazioni e alle troppe bufale". Precisa che la riforma riguarda tutti gli italiani, sostiene che "libera i magistrati dalla politica" e respinge come "fantascienza" l'idea di un maggiore controllo dell'esecutivo. Osserva che la sinistra è contraria perché il provvedimento rompe presunti meccanismi di strumentalizzazione della giustizia e invita a non cadere nella trappola di votare per mandare il governo a casa, ribadendo che il governo non si dimetterà in caso di vittoria del No.
@UltimoraPolitics24
La premier Giorgia #Meloni osserva: "La guerra in Medio Oriente mi preoccupa e sarebbe stupido pensare che quello che accade non ci coinvolge". Aggiunge: "Non possiamo permetterci che l'attuale regime iraniano abbia missili a lungo raggio".
@UltimoraPolitics24