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

Резултати

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

Пребарај: #colle

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

@savinobalzano · Post #810 · 14.11.2024 г., 17:42

https://x.com/SavinoBalzano/status/1857116649767260525?t=k7X5yA0vU4nN72rsdLJSlw&s=19 Fermi tutti: #PieroPelù ha deciso di lasciare X per protestare contro il nuovo pericolo pubblico n. 1, #Musk. Il livello nel dibattito pubblico nel Paese è sempre stato bassino, ma adesso siamo davvero al ridicolo: #ElonMusk viene descritto come un grave pericolo per la nostra #democrazia. Peccato, che ci siano "filantropi" come #Soros che finanziano direttamente politici e partiti italiani (che non votano manco i parenti dei candidati, fortunatamente) e a nessuno è mai fregato nulla: anzi! Oggi, dopo tanto silenzio, dopo anni di complicità nei confronti di chi da fuori picconava l'#Italia, il #Colle si sveglia e parla di #Costituzione. #Napolitano e #Mattarella sono stati complici di chi ha svenduto importantissimi pezzi del Paese, questa è la verità. Un po' di silenzio risulterebbe certamente più dignitoso, altro che grammatica istituzionale. Ogni qualvolta i popoli non si esprimono conformemente a quanto ambito da certi establishment, si urla al golpe. E, per quanto ci riguarda, l'espressione più autorevole di certi giri, risiede proprio al #Quirinale. La mia al #TGItalia, #CusanoNews7

Savino Balzano

@savinobalzano · Post #809 · 13.11.2024 г., 18:07

https://x.com/SavinoBalzano/status/1856760733394244011?t=jAwIKJ3XNppVhm60CC61HQ&s=19 #Mattarella è sceso in campo in difesa della #Costituzione e della #sovranità nazionale. Ammazza, ci piace questa nuova veste del #Quirinale: pare proprio che l'inquilino si sia svegliato sovranista. #ElonMusk non deve osare un attacco alla #Magistratura: se attacca, il nostro fiero #PresidenteDellaRepubblica risponde. Eh, però, però, però... qualcosina la dobbiamo ricordare. Era lo stesso #SergioMattarella a mettere il veto su #Savona perché destabilizzava i mercati? Il nascente #governo gialloverde lo voleva come Ministro dell'Economia e non se ne fece nulla: le posizioni euroscettiche di #PaoloSavona erano quasi eversive. Allora il nazionalismo del #Colle era più un sovranazionalismo. Non vi pare? E pure il suo predecessore, ve lo ricordate? #Napolitano, quello che disarcionò #Berlusconi per trascinare a Palazzo Chigi #Monti (che intanto aveva nominato Senatore a vita) perché realizzasse il programma della #BCE e dell'#UE: liberalizzare i licenziamenti, indebolire la contrattazione collettiva, tagliare gli stipendi pubblici, tagliare le pensioni, lo Stato sociale e così via. Realizzasse, insomma, il sogno di #Draghi, il pilota automatico #WhateverItTakes. Le cose erano diverse, dirà qualcuno: oggi abbiamo la nuova emergenza, il nuovo pericolo pubblico numero 1, il magnate che mette a rischio la #democrazia (che poi cosa c'entri il pilota automatico con la democrazia ancora non lo abbiamo capito). Anche qui, però, davvero faccio fatica: perché tanta tolleranza nei confronti di #BillGates, nei confronti dei grandi fondi di investimento, delle agenzie di rating, e invece a #Musk gli dobbiamo fare pelo e contropelo? Sapete cosa? sticavoli: tanto si sa che di Mattarella ci possiamo fidare...