Что делать если нужно поставить какую-то 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
#ULTIMORA — ANSA, Repubblica
Uno dei passaggi del monologo cancellato di Antonio #Scurati e previsto per questa sera: "Siamo vicini all'anniversario della Liberazione dal nazifascismo, parola che la presidente Meloni si rifiutò di pronunciare. Così, lo spettro del fascismo continuerà a infestare la casa della democrazia italiana"
🗞@ultimora24
Giorgia #Meloni pubblica sul suo profilo Facebook il monologo di #Scurati: "In un'Italia piena di problemi, anche oggi la sinistra sta montando un caso. Stavolta è per una presunta censura a un monologo di Scurati per celebrare il 25 Aprile. La sinistra grida…
Giorgia #Meloni pubblica sul suo profilo Facebook il monologo di #Scurati: "In un'Italia piena di problemi, anche oggi la sinistra sta montando un caso. Stavolta è per una presunta censura a un monologo di Scurati per celebrare il 25 Aprile.
La sinistra grida al regime, la Rai risponde di essersi semplicemente rifiutata di pagare 1800 euro (lo stipendio mensile di molti dipendenti) per un minuto di monologo."
@UltimoraPolitics
Se fossi Giorgia Meloni manderei in onda per 24 ore di fila, a reti unificate, il discorso di Scurati: il modo migliore per stravincere le elezioni.
Un discorso banale, noioso, scontato: totalmente disancorato dalla realtà. Diamo il benvenuto al nuovo catechista del politicamente corretto di "sinistra".
I fascismi esistono, quelli veri, e da anni dispiegano tutta la loro violenza sui più fragili: di questi ovviamente non parla nessuno.
La mia ai microfoni di Francesco Borgonovo e di Radio Radio.
#Scurati#fascismo
https://youtu.be/3Ye5zBY2ncc?si=L6tpIpmNYC5m_kCO
https://x.com/SavinoBalzano/status/1997304869682594156?t=gglw5cEZWS-Sb3Hv7WKwag&s=19
Quando mi sento incerto, il mio metodo è questo: indago su come la pensano #Giannini, #Augias, #Scurati e compagnia cantante. E vado dall’altra parte. Generalmente — a parte rarissime eccezioni — mi trovo benissimo.
Questa storia di disertare #PiuLibriPiuLiberi è semplicemente ridicola: hanno reso nota al pubblico di tutto il Paese una casa editrice che conoscevano in pochissimi e, grazie agli #Zerocalcare e ai #Raimo di turno, ora venderanno molti più libri.
A me un pochino puzza come strategia: mi sembra leggermente controproducente. Non credo siano stupidi; semplicemente strumentalizzano l’#antifascismo, pensando che qui siamo tutti fessi, per farsi un po’ di tristissima pubblicità.
Non mi risulta che Pertini abbia mai suggerito di escludere qualche casa editrice da un festival.
Posso dirlo? Mi mettete una tristezza infinita.
C'è una cosa che accomuna tutti questi alfieri della libertà e della democrazia: finiscono sempre col suggerire di tappare la bocca a qualcuno.
#BattitoriLiberi: dal lunedì al venerdì alle 17, su Radio Cusano.
https://x.com/SavinoBalzano/status/1916044211863929087?t=3bldlhz_SThqlX_N3syjpg&s=19
Antonio Scurati
Nome di battaglia: Whatever It Takes
Unità: Battaglione Eurobond
Ma quanto ci hanno commosso ieri le parole di Antonio #Scurati? Un accorato appello alla #lotta, alla #democrazia.
Oh, mica esagero se lo definisco un partigiano dei nostri tempi. È anche grazie al messaggio di intellettuali come lui che possiamo celebrare il memoriale della #libertà, della #resistenza.
Solo un "piccolissimo" dettaglio, giusto per completezza, senza nulla togliere alla grandezza e alla gloria del nostro Tony: una letterina, piccola piccola, che lui stesso firmò e pubblicò sulle colonne del Corriere della Sera. Era il 17 luglio 2022.
Con assoluta fermezza, durezza, spietatezza intellettuale, il sor Tonino si rivolgeva a Mario #Draghi.
La versione integrale la trovate ovviamente online. Io qui vi propongo un piccolo stralcio. Leggetela, la missiva di questo guerrigliero, e vi sembrerà di essere con lui, in montagna, membri di un GAP.
Altro che Pavese! gli spiccia casa, come si dice a Roma.
«Esimio Presidente Draghi, mi scuso in anticipo di queste mie parole. Le sto, infatti, scrivendo per chiederle di umiliarsi. (…)
Qualunque cosa si voglia pensare di lei, non si può negare che la sua sia la storia di un uomo di straordinario successo. Durante tutta la sua vita, lei ha bruciato le tappe di una carriera formidabile. Prima da Governatore della Banca d’Italia e poi da Presidente della Banca centrale europea, lei ha retto le sorti di una nazione e di un continente; le ha tenute in pugno con il piglio del dominatore, sorretto da una potente competenza, baciato dal successo, guadagnando una levatura internazionale, un prestigio globale, un posto di tutto rispetto nei libri di storia. Ha conosciuto il potere, quello vero, ha conosciuto la fama degli uomini illustri, la vertiginosa responsabilità di chi, da vette inarrivabili, decide quasi da solo della vita dei molti. (…)
Ciò che sta accadendo in queste ore ripropone, purtroppo, un copione già andato in scena molte volte sulla ribalta del nostro Paese, irresistibilmente sedotto dalla commedia: la tragedia che scade in farsa. Ora lei, pur dovendo fronteggiare una pandemia, una guerra, una crisi economica con pochi precedenti e una ambientale senza uguali, è spinto alle dimissioni da un accanito torneo di aspirazioni miserabili, da sudicie congiure di palazzo, da calcoli meschini, irresponsabili e spregiudicati di uomini che, presi singolarmente, non valgono un’unghia della sua mano sinistra. (…)
Io non sono un politologo. Interpreto, più modestamente, la realtà da romanziere. Tutto ciò premesso, devo concludere che se lei domani, dopo le sue risolute, dignitose e sdegnose dimissioni, tornasse sui suoi passi e rinnovasse la sua disponibilità a guidare il paese in questa crisi epocale fino alla scadenza della legislatura, la sua diverrebbe la storia di una caduta. Ed è proprio questo che io e moltissimi italiani le chiediamo: faccia torto a se stesso, rinunci perfino al senso della sua dignità personale, si sminuisca nello stillicidio quotidiano del governo di uomini che hanno a cuore soltanto l’imminente tornaconto elettorale. Quel che tanti italiani le chiedono sarebbe, me ne rendo conto, davvero un grande sacrificio personale in nome dell’interesse generale. Il suo personaggio ne uscirebbe, forse, diminuito ma la sua persona conoscerebbe un nuovo genere di grandezza».
Insomma, tutto tranne le elezioni: meglio il governo del banchiere.
E niente, come faremmo senza questi irriducibili custodi della nostra amata Repubblica?
Buon #25aprile anche a te, Totò, perchè il #25aprile_è_ANTIFASCISTA!
https://x.com/SavinoBalzano/status/1850857643138597241?t=tVyYIIDdEASXajOwGPtjPw&s=19
Ammetto di essere stato un po' distratto in questi giorni: alcune me l'ero perse.
Nell'#Italia del #Fascismo, quella nella quale è stata compressa la #libertà d'espressione ed è a rischio la #democrazia, in pochissimi giorni ne abbiamo sentite delle belle (per la verità le hanno sentite... io le ho recuperate stamattina: a riprova dell'eco che certe cialtronerie producono nel Paese reale).
Cito liberamente (rispettando il senso).
Secondo #Pascale (continuo a domandarmi perché rilevi l'opinione di questa persona, ma la invitano e dunque...) la #destra di #governo è fascista e omofoba. Poi però #Giuli sceglie un portavoce omosessuale e veniamo colti da un senso di smarrimento e confusione.
Secondo #Scurati, invece, #Meloni dovrebbe dar conto delle sue origini neofasciste all'opinione pubblica: dovrebbe, interpreto, fare una sorta di mea culpa, sottoporsi a una gognetta purificatrice, un po' come Cersei Lannister nel #TronoDiSpade. Ricordate? quando tutti le urlavano "vergogna" tra le strade di Approdo del Re. A Scurati affidiamo il ruolo dell'Alto Passero.
Secondo #Montanari, ancora, le nostre forze dell'ordine - in preda al rigurgito razzista - fermano per strada la gente perché di colore. Che poi anche sul piano logico arranco: so' diventati razzisti solo perché al governo c'è #Lega e #FDI? prima non lo erano? se invece già lo erano, perché Tomasino non lo denunciava? fatico a seguirlo.
Un #circo, un vero e proprio circo, alimentato da un "giornalismo" da due soldi, da guitti che fanno spettacolo invece che #informazione. A me va benissimo, mi diverto, però mi piacerebbe lo ammettessero.
Colpisce che certe cose si possano dire nonostante ci sia la limitazione della libertà di espressione, ripeto.
Quando cominci a studiare l'inglese, a scuola, ti insegnano che esistono le espressioni «false friends»: quelle parole che suonano come alcune italiane, ma che significano qualcosa di diverso. Ecco, questa gente rappresenta i «false enemies»: sembra che critichino aspramente il Governo, ma il loro punto di vista è tanto ridicolo e grottesco da rafforzarlo.
Avanti tutta gente, che entri adesso la donna barbuta e il domatore delle tigri! Ci sono anche zucchero filato e caramelle gommose!