Что делать если нужно поставить какую-то 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
🇲🇩Победитель молдавского национального отборочного конкурса Eurovision (отбор на европейское "Евровидение") Сатоши получил премиальный миллион от молдавского государственного телевидения.
По случайному и непреднамеренному совпадению, так уж вышло, во время предвыборной кампании осенью 2025 будущий победитель национального отборочного конкурса активно поддерживал правящую партию PAS.
#Молдова#PAS
🎙 Власти были вынуждены признать свою ошибку и попросить денег в ЕС на компенсации населению.
⚠️ Но есть ещё вопрос: как выжить экономическим агентам, которым тоже надо платить за электричество и газ? Тысячи людей могут остаться на улице из-за закрытия предприятий и остановки бизнеса. Но власти про это даже не вспоминают.
✔️ Преступная безответственность правящей PAS.
#гражданскийконгресс#PAS
Continuăm campania! În discuții cu sătenii din Cotiujenii Mari, cu cadrele didactice, cu angajații din Chișinău, la cort. Peste tot! Pentru UE, pace, dezvoltare!
Votăm PAS pe 28 septembrie! Primul în buletin! #pas#ue2028
Unii concurenți electorali încearcă în mod disperat să promoveze anumite sondaje necredibile (la care sociologii experimentați își pun mâinile în cap de lipsa neprofesionalism).
Există sondaje mai credibile și unele mai puțin credibile, dar consensul e că votul va fi foarte strâns cu două posibile rezultate: (1) fie o majoritate parlamentară PAS, (2) fie un parlament fracturat, haotic, plin de oameni care lucrează în interesul oricui, numai nu al țării – adică rețeta perfectă pentru instabilitate.
Adevărul e unul simplu – votul din 28 septembrie va fi examenul, “sondajul” cel mai real. Fie avem pace, dezvoltare și mergem în Uniunea Europeană, fie avem instabilitate și risc de administrație rusească la Chișinău. Cetățenii vor decide. #pas#ue2028
Guvernarea PAS a depus eforturi majore să reducă birocrația pentru economie și oameni de afaceri. Pe lângă digitalizare, și eliminarea multor proceduri, am redus și numărul de controale fiscale.
Conform datelor obținute de la Serviciul Fiscal de Stat, comparativ cu 2021, numărul de controale efectuate de instituție s-a redus de aproape 3 ori, de la 5825 la 2076 în 2024. Asta în condițiile în care încasările au crescut în mod constant datorită administrării fiscale bune și tehnologizării proceselor.
Avem un plan abițios de simplificare și modernizare fiscală pentru următorii ani! Mergem în direcția corectă #pas#ue2028
Azi suntem în orașul Șoldănești și prin piața centrului raional! Avem foarte multă lume care ne susține. Socialisto-comuniștii roșii erau cam rușinați în piață, se cam ascundeau :) .
🟡 Pe 28 septembrie, votăm PAS! Mergem în direcția corectă: UE, pace, dezvoltare! #pas#ue2028
Celor care sunt sceptici sau sunt supărați pe PAS, recomand să urmăriți această emisiune de la TVC21 la care am participat. Răspund la mai multe întrebări pe care le-am auzit de la criticii noștri.
#pas#ue2028
Azi am continuat campania la Ialoveni - în oraș, în localitatea Costești și la vinăria Mileștii Mici! Am discutat cu antreprenorii, angajații de la vinărie, sau lucrătorii de pe câmp! Lumea înțelege miza alegerilor.
Ialoveni votează PAS!
#pas#ue2028
🇲🇩🇪🇺 10 proiecte de infrastructură care vor putea fi realizate prin intermediul Planului de Creștere UE!
Planul de creștere economică UE în valoare de 1.9 miliarde euro este unul din cele mai importante instrumente prin care vom putea aduce creștere economică și majorarea substanțială a veniturilor cetățenilor în următorii 4 ani.
Prin acest plan, vom finanța 25 mii de întreprinderi mici și mijlocii, vom stimula investiții private de peste 4 miliarde de euro și vom finanța proiecte majore de infrastructură. Iată 10 exemple de proiecte de infrastructură pe care le vom face prin Planul de Creștere:
1️⃣ Șoseaua de centură a municipiului Chișinău
2️⃣ Terminalul Intermodal de Marfă Chișinău –un centru logistic modern care va reduce costurile pentru exportatori și importatori.
3️⃣ Complexul Logistic Multimodal Berești (Ungheni), lângă România, pentru integrarea Moldovei în coridoarele internaționale de transport.
4️⃣ Calea ferată Căinari–Fălciu – o cale ferată de peste 100 de kilometri, care ne va conecta cu România, ceea ce va permite transportul mai rapid de mărfuri și pasageri către Uniunea Europeană.
5️⃣Calea ferată Cahul–Giurgiulești –acces către Dunăre a mărfurilor moldovenești.
6️⃣ Poduri rutiere peste râul Prut .
7️⃣ Interconectarea electrică cu UE – vom extinde rețeaua de înaltă tensiune (400 kV) către România, pentru a asigura independența energetică a Moldovei și energie mai ieftină și stabilă.
8️⃣ Platforme industriale și tehnologice regionale – vom crea parcuri industriale și incubatoare de afaceri în diferite regiuni, atrăgând investitori și generând mii de locuri de muncă noi.
9️⃣ Programul Național „Satul European” și programe de dezvoltare a centrelor urbane.
🔟 Sisteme de irigații în agricultură – vom aloca investiții majore în reabilitarea stațiilor de irigații și extinderea rețelelor de apă pentru fermieri, crescând reziliența la secetă și sporind producția agricolă.
Aceste proiecte vor putea fi realizate doar dacă PAS obține majoritatea parlamentară și continuăm parcursul de aderare la UE. #pas#ue2028.
Mai multe detalii în programul PAS.
Cam așa arată lucrurile. Aderarea la UE și viitorul nostru din următoarele decenii depinde de ce se va întâmpla pe 28 septembrie. #pas#ue2028
Sursă: Vitalie Eșanu
🟡 5 angajamente ale PAS pentru următorii 4 ani:
1️⃣ PACE ȘI UE! Vom semna tratatul de aderare la UE până în 2028, înainte de finalul celui de-al doilea mandat al Președintei Maia Sandu.
2️⃣ VENITURI! Dublarea veniturilor populației active (salariați în mediul privat, profesori, medici, polițiști, liber-profesioniști etc.).
3️⃣ ECONOMIE! De 2 ori mai mari vânzările de mărfuri și servicii autohtone din Republica Moldova în toată lumea.
4️⃣ DEZVOLTARE: Vom repara până la 3000 km de drum, astfel, ca până în 2029, toate drumurile naționale și regionale din țară să fie într-o stare bună și foarte bună.
5️⃣ TRADIȚII: Vom avea un program de promovare a culturii și tradițiilor noastre naționale, prina care vor fi finanțate evenimente din țară și din diaspora.
Amintesc că PAS a realizat 86% din sarcinile trasate în cele 5 angajamente naționale anunțate în 2021! Mergem în direcția corectă! #pas#ue2028.
Programul electoral integral îl puteți accesa aici.