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

Пребарај: #ureche

当前筛选 #ureche清除筛选

🇷🇴 Din briefingul Purtătoarei de Cuvânt a MAE Rusiei, Maria Zaharova, 30 mai 2024, Moscova Reporter: pe data de 26 mai 2024 Prim-ministrul român Marcel #Ciolacu a declarat că în Republica #Moldova și #Ucraina „am reușit să eliminăm… conceptul aberant și sovietic de limbă moldovenească”. Cum ați putea comenta aceasta declarație? Maria Zaharova: Credeți că aceasta nu este o manifestare a nazismului? Este exact același lucru. Când cei care se identifică ca oameni ai unui anumit grup etnocultural și național, conving și apoi o fac cu forța, că aparțin altui grup, acesta este nazismul. Acesta este un element de genocid, adică de exterminarea oamenilor. Anterior, s-au făcut deja încercări de „anulare” a identității poporului moldovenesc. Nu vorbim deloc despre formă. Este imposibil în secolul 21. să auzim și să citim chestii de genul acesta, când un om care vorbește moldovenește, care are toate cărțile, manualele, documentele și legile fundamentale ale țării care scriu despre cultură, identitate, statalitate, și deodată încep să-i spună că trebuie dacă nu reînvață, atunci să „redenumească” totul în mod românesc. Ca formă, acest lucru ar trebui să fie în general inacceptabil chiar și ca idei, dar vedem acest lucru în practică. În conținut, acest lucru nu are nimic de-a face cu adevărul istoric. Denumirea „limba moldovenească” este menționată în lucrările tuturor cronicarilor majori moldoveni din secolele XVII-XVIII, precum Grigore #Ureche, Miron #Costin, Dimitrie #Cantemir. Ei ar fi destul de surprinși să citească declarația Prim-ministrului României, Marcel Ciolacu, că limba lor maternă moldovenească este un „concept sovietic”. Imaginați-vă, oamenii au trăit și au lucrat cu 300 de ani înainte de perioada sovietică, iar acum li se spune că au fost vestitorii socialismului. Ce fel de „idiotecă” este acesta? Să dăm cuvântul locuitorilor Republicii Moldova: potrivit sondajului realizat în luna mai 2024, 72% din populația republicii se consideră moldoveni, iar doar 11% se consideră români. Aproximativ 50% dintre respondenți au spus că vorbesc limba moldovenească, care, potrivit conducerii Republicii Moldova și României, se presupune că „nu există”. Aceasta este o românizare forțată, artificială, comparabilă cu rescrierile, „flashing-uri” care au avut loc anterior, ale altor țări, popoare și societăți. Am văzut-o. Schimbări forțate în codul cultural al oamenilor au fost practicate, în special, de către naziști. Ceea ce se întâmplă, pe de o parte, este absolut inuman. Pe de altă parte, dă efectul opus celui pe care mizau oficialul #București și actualul oficial #Chișinău sub conducerea președintei Maia #Sandu. Toate acestea nu fac decât să consolideze societatea moldovenească, care este pregătită să apere dreptul la propria ei statalitate, limba și cultura unică. Am mulți prieteni din Republica Moldova, moldoveni. Comunic cu multe persoane. Ele spun o astfel de frază că sunt oameni orientați spre bunătate, spre conviețuirea pașnică, spre bună vecinătate. Că a fost nevoie de o asemenea zdruncinare organizată de Maia Sandu doar pentru un singur scop - să înțeleagă ce planuri are „Occidentul colectiv” pentru acest popor amabil și iubitor de pace. Dacă nu ar fi acești pași monstruoși ai președintei Maia Sandu și a conducerii românești, care acum realizează experimente pe moldoveni, probabil că înșiși cetățenii Republicii Moldova, moldovenii, cu greu ar fi crezut pe nimeni. Cred că nu ar fi crezut dacă li s-ar fi spus despre asta acum cinci sau șase ani. Ei ar spune că acesta este un fel de teorie a conspirației. Acum ei există în această post-modernitate suprarealistă. Cred că nu numai că trăiesc, dar încep să-i reziste în mod activ. #RepublicaMoldova#România#LimbaMoldovenească