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

Пребарај: #muratkarayilan

当前筛选 #muratkarayilan清除筛选
Turchia e dintorni

@notizieturchia · Post #3001 · 07.02.2025 г., 14:11

#MuratKarayilan, membro del Comitato Esecutivo del #PKK rilascia una serie di dichiarazioni molto importanti nell'ottica di tregua/pace tra lo Stato e l'organizzazione: - Pensiamo che #Ocalan rilasciaerà una dichirazione verso il 15 di febbraio, - La nostra organizzazione ha più di 10 mila militanti. Soltanto con l'intervento di Ocalan, non soltanto con un video, è difficile convincerli per deporre le armi. Nessun altro può fare questo. Per questo Ocalan deve essere libero, - Siamo pronti sia per la pace sia per la guerra. Siamo un'organizzazione solida e con esperienza. Non agiamo senza fare i nostri piani, - Prima di parlare della pace dobbiamo dichiarare bilateralmente un cessate il fuoco. Siamo, tuttora, in guerra, - In questi ultimi 10 anni abbiamo affrontare una forte avanzata militare. Ci siamo difesi bene anche se abbiamo perso il controllo di alcune postazioni. Oggi i curdi, in mano hanno delle carte vincenti, - Dopo i cambiamenti avvenuti in #Libano, #Siria e #Palestina oggi il nostro movimento ha più scelte/opzioni politiche. Ci sono nuove strategie in zona e nuovi attori, - A livello tecnologico e strategico la nostra organizzazione ha fatto dei passi notevoli in questi anni, - La proposta di riconciliazione e convivenza tra i turchi e i curdi, avanzata da Ocalan, gà nel 1993, oggi torna attuale, - I tentativi di dialogo tra lo Stato turco e Ocalan tuttora in atto hanno un precedente, alcuni membri dello Stato avevano già parlato con lui, - Pretendiamo una presa di posizione, un cambiamento nel linguaggio ma anche nelle azioni sia in Turchia che in #Siria, da parte del governo turco, - Per noi è necessario organizzare un congresso in presenza di Ocalan per spiegare al resto dell'organizzazione il cambiamento previsto. Non lo posso fare io, - Le proposte per la trasformazione democratica delle società sono utili per tutti i popoli della zona, - Ciò che accade in #Rojava è una guerra rivoluzionaria e popolare e in diverse località le forze armate turche hanno perso, - In Siria, la Turchia contava all'Esercito Nazionale Siriano ma #TahrirAlSham ha preso il potere a #Damasco. Ora #Ankara vuole recuperare il suo piano fallito, - Il controllo della Turchia in Siria è un ottimo risultato anche per l'#Israele, - #Jolani si trova di fronte a una prova molto difficile. Governare la nuova Siria con una visione unica è impossibile, - La nostra organizzazione è pronta per qualsiasi scenario.