TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #210 · 3 фев.

Что делать если нужно поставить какую-то 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

Резултати

Пронајдени 1 слични објави

Пребарај: #sovranismo

当前筛选 #sovranismo清除筛选
Savino Balzano

@savinobalzano · Post #889 · 06.02.2025 г., 10:34

https://x.com/SavinoBalzano/status/1887449095825973735?t=8oW3wriwTIIZ-sMHYOyMRg&s=19 Presidente, glielo scrivo col rispetto che si deve comunque all'Istituzione che lei rappresenta, al #Quirinale, ma avvalendomi della libertà che la nostra #Costituzione garantisce a tutti i cittadini: lei ha minato alla credibilità della stessa istituzione che rappresenta da dieci anni e le sue parole non sono più minimamente credibili. È davvero impressionante come il #PresidenteDellaRepubblica ormai rappresenti la cassa di risonanza di una specifica e ben individuabile narrazione (lo abbiamo visto già con #Napolitano, ma #Mattarella ha buttato giù ogni steccato rimasto). #SergioMattarella da qualche settimana si è risvegliato sovranista: ieri ha esortato l'#Europa a non rassegnarsi a un «vassallaggio felice». Il riferimento è ovviamente agli #StatiUniti di #Trump, ma anche alle "gravissime ingerenze" di #Musk. Il tutto potrebbe anche avere una sua dignità politica, se non fosse che il Presidente della Repubblica ha alle sue spalle un decennio di silenzi: dov'era Mattarella quando l'Unione Europea si suicidava economicamente, affamava i suoi popoli, per aderire alla guerra di #Biden a #Putin?; dov'era Mattarella quando ucraini e inglesi sabotavano il #nordstream2?; dov'era Mattarella, da capo delle forze armate, mentre sparavano addosso ai nostri militari in #Libano?; dov'era Mattarella quando il Commissario europeo Gunther Oettinger sostenne che i mercati avrebbero insegnato al popolo italiano come si vota?; dov'era e dov'è Mattarella (e il suo predecessore) ogni volta che si chiedeva e chiede all'Italia l'austerità, che è una roba ben peggiore dei dazi di cui tanto denuncia l'inaccettabilità? Nel sui recente discorso, il Capo dello Stato ha citato ancora la conferenza di Monaco del '38, l'#appeasement di Neville #Chamberlain: il ragionamento è semplice. #Putin è come #Hitler: lasciarlo fare, come si fece con la Germania Nazista, rappresenterebbe una colpa imperdonabile. Mancava solo la citazione di #Churchill: «potevano scegliere tra il disonore e la guerra, hanno scelto il disonore ed avranno la guerra». Con quella ciliegina la sagra della banalità (se del bene o del male lo lascio valutare a voi) sarebbe stata compiuta. Ebbene il riferimento al '38 è ovviamente risibile: primo perché Putin non ha alcuna intenzione di arrivare a Lisbona; secondo perché l'espansionismo negli ultimi decenni è stato il nostro, della #NATO, e non di #Mosca; terzo perché la storia non comincia con l'invasione russa, ma andrebbe fatta risalire quantomeno al 2014 e al colpo di stato che (ormai è ampiamente documentato) noi abbiamo ordito ai danni di #Janukovyč; quarto perché non possiamo nascondere che il sabotaggio del gasdotto ha rappresentato una mossa fondamentale per spezzare il rapporto che si stava cementando tra Europa (soprattutto #Germania) e Russia che a qualcuno non conveniva assolutamente e, difatti, adesso ci sta guadagnando (il vassallaggio ci spiace a fasi alterne?). Putin è Hitler? Vediamo come reagirebbe qualsiasi Presidente statunitense se volessimo noi mettere in piedi una bella base militare a Cuba o in Canada. Smontare il sovranismo del Quirinale è facilissimo: basterebbe ricordare quello che combinò Napolitano con Berlusconi (p.s. il debito pubblico dell'Italia sull'orlo del fallimento del 2011 era enormemente inferiore a quello di adesso, lo dico per quelli che "#Monti ci ha salvati"); ma basterebbe ricordare i tentativi di Mattarella di soffocare il governo gialloverde nella culla, puntando su Cottarelli mentre Conte ancora cercava di comporre una maggioranza o ponendo il veto su Savona che destabilizzava i mercati. Insomma, Presidente, faccia lei: ha certamente dalla sua parte tutta l'informazione e gran parte delle pecore che pascolano l'arco costituzionale, ma al suo posto mollerei il colpo: il #sovranismo è una cosa seria e proprio non le si addice.