Что делать если нужно поставить какую-то 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
Il fatto che oggi qualcuno pensi persino di far passare
Massimo Giannini per "giornalista scomodo" ci fa capire chiaramente come siamo messi male in Italia: siamo davvero rovinati!
Ovviamente una querela per diffamazione notificata in albergo alle quattro del mattino resta un'indecenza, come tutta questa storia delle querele temerarie. Oggi capita spesso, non solo nel giornalismo e nell'informazione peraltro, che qualche imbecille abusi dello strumento mosso da finalità meschine. Da qui, però, a descrivere Giannini come "scomodo" ce ne passa: io una sola cosa scomoda pronunciada dall'ex direttore de La Stampa proprio non me la ricordo.
La mia ai microfoni di Radio Radio e di Francesco Borgonovo.
#giannini#informazione#libertà
https://www.youtube.com/watch?v=R6XoLY2f5jY&ab_channel=SavinoBalzano
Песни — не преступление!
18-летняя Диана Наоко Логинова и музыканты группы Stoptime, Александр и Владислав, арестованы в Петербурге за уличные концерты и исполнение песен Монеточки и Noize MC.
Теперь Диане грозит уголовное дело — за музыку и слова о свободе.
📅 28 октября, 18:00,
Largo Argentina (Рим)
via San Nicola de Cesarini
Выходим на акцию протеста в поддержку Наоко и Stoptime.
Будут живые выступления, открытый микрофон и песни, за которые сейчас сажают.
Свободу Наоко, Александру и Владиславу!
Свободу Stoptime!
Здесь Инстаграм анонс
#Liberta#Solidarietà#stoptime
Lottare per Assange è un dovere morale di tutti.
Gli Stati Uniti lo detengono per procura (un po' come fanno con le guerre) e ne fanno un esempio. Il messaggio è chiaro: «nessuno provi a emularlo, a essere libero come lui!».
Quello della libertà di espressione è un tema attualissimo: basti pensare ai giornalisti che Israele uccide nella Striscia per evitare che raccontino i crimini perpetrati contro l'inerme popolo palestinese, al fatto che impediscano alla stampa di accedere a quei luoghi, ma anche alla vicenda di Al Jazeera.
Anche in Italia si vuole provare a limitare la libertà di stampa e questo è di assoluta attualità dinanzi alle intercettazioni che emergono attorno alle vicende della Regione Liguria.
Poi c'è il tema delle querele temerarie e pure ha una sua rilevanza: spesso insicuri cronici, affetti da sindrome da pene minuto, pensano di poter adoperare la querela come forma di ritorsione e ricatto. Gente piccola, piccina piccina.
La mia al TG Plus di Cusano Italia TV
#Assange#JulianAssange#libertà #Israele#palestina#Gaza
https://www.youtube.com/watch?v=66ZSQhryEq4&ab_channel=SavinoBalzano
Le manganellate in faccia agli studenti sono squallide, ma nessuno ci venga a raccontare che è una roba nuova: i manganelli in faccia ai lavoratori che protestavano contro il green pass ve li siete dimenticati? quelli in faccia agli studenti che protestavano contro alternanza scuola lavoro, all'indomani della morte di un loro compagno ce li siamo scordati? i manganelli sui denti dei tassisti invece? Quelli erano manganelli democratici e civili?
Il dissenso non è mai stato accolto in questo Paese negli ultimi tempi e non c'è solo il manganello fisico nelle piazze: parliamo del manganello del politicamente corretto, della dittatura soffocante del politicamente corretto dispiegata attraverso il nostro sistema di "informazione" (meglio, indottrinamento).
L'Italia è il Paese in cui si plaude a un capo di stato straniero che vuole realizzare delle liste di proscrizione riguardanti il pensiero di alcuni nostri connazionali.
La mia ai microfoni di Giornale Radio e dell'amico Francesco Borgonovo.
#pisa#firenze#studenti#libertà
https://www.youtube.com/watch?v=V2mth4mTfH0&ab_channel=SavinoBalzano
Вечер писем политическим заключенным онлайн объединила Рим, Милан, Неаполь и другие города Италии. Кто-то писал впервые.
Мы рассказали, как написать письма,
показали структуру аккаунта Фсин-письма, prisonmail.
Отправили письма через prisonmail.online. Написали Архиповой Анне и Оруджеву Ибрагиму.
Это совместные письма участниц и разрядило волнение "пустого листа незнакомому человеку".
В итоге Russi contro la guerra. Italia составили руководство, чтобы люди могли писать письма и поддерживать политзаключенных.
Благодарим вас за участие! Присоединяйтесь!
#russicontrolaguerraitalia#italy#пзк#письмаполитзаключенным#политзаключенные#свобода
#liberta#prigionieripilitici#russia
Non esiste alcun rischio di ritorno del fascismo: tutte balle. L'opposizione trovi argomenti seri: ci sarebbero eccome!
Ieri ospite a La Zanzara - Radio 24 sono stato mandato "a fanculo" da David Parenzo dopo poco più di 40 secondi: il dato conferma inequivocabilmente come fossi dalla parte della ragione.
Però ci siamo divertiti.
.
.
.
.
.
.
Giuseppe Cruciani David Parenzo #lazanzara#zanzara Radio 24 #radio24#politica#informazione#radio#televisione#fascismo#fascista#antifascismo#antifascista#democrazia#liberta#italia
🇮🇹 Grazie di cuore a tutti coloro che hanno partecipato al nostro sit-in a Roma — vicino al cosiddetto “Centro Culturale Russo”!
Ci siamo uniti contro la propaganda russa, contro il libro falsificato di Medinskij sulla storia dell’URSS, contro la propaganda del Cremlino in Italia e contro la guerra in Ucraina.
- Volantini, cartelli, le striscione slogan forti — tutto per la verità, e la libertà.
- Un ringraziamento speciale alle diaspore di Georgia, Ucraina e al +Europa per il loro sostegno.
Insieme — per la libertà, democrazia e la pace.
#russicontrolaguerra#stoppropagandarussa#NoWarinUkraine
#PiùEuropa#Georgia#Ucraina#Solidarietà#Liberta#Verita
#StopKremlin
Благодарим всех, кто принял участие в нашем sit-in в Риме — недалеко от “Культурного центра России"!
Мы выступили против пропаганды Кремля, против изданной в Италии, книги В.Мединского об истории СССР, против войны в Украине.
📣 Листовки, плакаты, громкие лозунги — всё ради правды, мира и свободы.
- Особая благодарность за поддержку диаспорам Грузии, Украины и Più Europa.
Вместе — за свободу и мир.
⚪🔵⚪Russi contro la guerra
#russicontrolaguerra#stoppropagandarussa#NoWarinUkraine
#PiùEuropa#Georgia#Ucraina#Solidarietà#Liberta#Verita
#StopKremlin
WEF: a Davos da Trump a Milei si sono alzate le voci della libertà e verità, le élites globaliste sono avvertite: https://www.quotidianoweb.it/attualita/a-davos-qualcosa-e-cambiato/#quotidianoweb#news#notizie#attualità#informazione#informazionelibera#davos#trump#milei#liberta#verità#elitesglobaliste#attualita#mondo#martinapastorelli#worldeconomicforum
Segui QuotidianoWeb su Telegram cliccando QUI: https://t.me/quotidianowebitalia