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 слични објави

Пребарај: #romanoprodi

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

@savinobalzano · Post #904 · 21.02.2025 г., 09:32

https://x.com/SavinoBalzano/status/1892869823501042090?t=rkjMmPhaUMpiP4bXY5TXkQ&s=19 Ieri sera, con incredibile candore, e senza alcuna reazione da parte di chi l'ascoltava, #Prodi ha confessato: ha espresso chiaramente la sua idea di #Europa o, meglio, la sua idea di #UE. Testualmente: «bisogna partire dall'accordo fra la #Francia e la #Germania con DIETRO l'#Italia: questa era l'europa quando funzionava. Se non è questo, è chiaro che non si riesca ad andare avanti». Fossi stato io a dialogarci, gli avrei domandato: - cosa intende con "dietro"? - cosa intende con "funzionare"? - cosa inende con "avanti"? Perché la questione è tutta qui: esiste una classe dirigente (di cui #RomanoProdi è espressione, ma non da solo: pensate a #Draghi che ieri sera Romano chiamava familiarmente e affettuosamente "Mario") che ritiene opportuno che il nostro Paese stia dietro ad alcuni altri. Tale posizionamento è utile al conseguimento di determinati obiettivi, a specifici "funzionamenti", che mandino "avanti" qualcuno che non siamo noi (noi restiamo, appunto, dietro). È un preciso approccio culturale prima che politico: a volerlo pensare in buonafede (e ce ne vuole, a mio avviso) quantomeno nutre una visione diffidente nei confronti del suo stesso Paese, non ci crede. A voler essere malfidati, invece, basterebbe ricordare (ancora una volta!) quello che ci promise: «Con l’#euro lavoreremo un giorno di meno guadagnando come se lavorassimo un giorno di più». Di cosa abbiamo veramente bisogno? di chi? Dobbiamo affidarci agli uomini che rappresentano questa Europa in Italia? mi riferisco ai Prodi, ai #MarioDraghi, ai #Monti? o sperare finalmente di sganciarci da un apparato istituzionale, che fino a oggi ci ha asfissiato, sperando ti tornare a respirare aria fresca? Io non avrei alcun dubbio. Intanto, complimenti ancora a #Formigli per l'intervista a schiena dritta: l'ha messo veramente alle corde, un dialogo severo e spietato. Da un momento all'altro mi aspettavo gli domandasse qualcosa tipo: «Presidente, ha mai pensato di rimettersi in gioco, di scendere nuovamente in campo? avremmo tanto tanto bisogno di lei...».

Savino Balzano

@savinobalzano · Post #857 · 09.01.2025 г., 15:28

https://x.com/SavinoBalzano/status/1877376654898593900?t=_UK7DQb1rTABgiMEYjuDXw&s=19 Smettetela di attaccare #Augias per le previsioni sballate sulla liberazione di #CeciliaSala: #GiorgiaMeloni non lo aveva chiamato per informarlo di come procedevano le trattative: cosa pretendete? facile col senno del poi! E lo stesso vale per l'amico #Santoro: se #Meloni gli avesse inviato un telegramma da #MarALago, per anticipargli le notizie su #ceciliasalalibera, il malinteso non si sarebbe creato! #Giorgia è stata quantomeno scortese, diciamolo. #Prodi, invece, lucidamente si preoccupa per la nostra sovrànità nazionale. #RomanoProdi conferma infatti di essere il più grande e lucido statista vivente in #Italia: i rapporti tra #Meloni, #Trump e #Musk sono preoccupanti e, detto da uno che ha reso l'Italia autorevole e indipendente nel mondo, ha un valore inestimabile: grazie Presidente! Il #BattitoreLibero a #5Notizie, #RadioCusanoCampus