Что делать если нужно поставить какую-то 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
🚨🇺🇸⚡️🇮🇳 ~ NEW: US President Donald Trump in his recent visit to Doha said he has asked Tim Cook to not make any Apple products in India.
"Told #Apple CEO Tim Cook, we're not interested in you building in #India, they can take care of themselves." - says Donald Trump in #Doha, Qatar.
VISHWAGURU MASTERSTROKE
#Israele colpisce #Doha la capitale del #Qatar e dichiara di aver ucciso una serie di vertici di #Hamas, l'organizzazione comunica di aver perso 6 suoi membri.
#AbbasAraghchi, Ministro degli Esteri iraniano parla in tv a #Doha: "L'arricchimento dell'uranio deve continuare; questo è un nostro diritto. Tuttavia, siamo pronti a raggiungere un accordo sul tasso di arricchimento. L'incontro a #Oman ha avuto un buon inizio. Se scoppiasse una guerra, la sua portata includerebbe l'intera geografia della regione e tutte le basi statunitensi. Dai territori occupati al Golfo Persico e al Golfo di Oman, dove si trovano le basi #USA. Il nostro accesso alle basi statunitensi è facile e questo aumenta la loro vulnerabilità".
L'#ArabiaSaudita e il #Pakistan, potenza nucleare, hanno firmato mercoledì scorso un patto di "strategia di difesa reciproca", in per rafforzare significativamente una partnership di sicurezza decennale tra i due paesi, in un contesto di crescenti tensioni regionali e dubbi sull'affidabilità delle garanzie di sicurezza degli #USA dopo l'attacco israeliano a #Doha/#Qatar.
Uzbekistan condemned Israel’s strikes on a residential area in Doha, calling them a breach of sovereignty and a threat to Qatar’s security. Read more on our website.
https://yep.uz/en/2025/09/uzbekistan-condemns-israel-strikes-doha/
#uzbekistan#doha#israel#qatar#internationalLaw#middleEast
#GhaziHamad, uno degli alti esponenti di #Hamas appare in diretta tv sul canale televisivo #AlJazeera, collegato dal suo ufficio a #Doha in #Qatar e comunica di essere stato nell'edificio colpito dall'#Israele lo scorso mercoledì durante l'attacco e conferma l'uccisione di 6 membri dell'organizzazione.
If you are going to visit Doha, you can use this selection of attractions that are worth visiting:
◽Museum of Illusions
◽Gondolania Theme Park & Villaggio Mall
◽The Pearl Island
◽Souq Waqif
◽Simaisma Beach
✈️ P.S. We will operate flights to Doha once a week: on Thursdays.
☎️ Tel.: 44-640-40-49, 44-640-40-50, 1133.
🌊
Если Вы собрались в Доху, Вам не помешает эта подборка достопримечательностей, которые стоит посетить:
◽Музей Иллюзий
◽Тематический парк Gondolania и Торговый центр Villaggio
◽Набережная The Pearl Island
◽Рынок Souq Waqif
◽Пляж Simaisma Beach
✈️ P.S. Мы будем совершать полёты в Доху раз в неделю: по четвергам.
☎️ Тел.: 44-640-40-49, 44-640-40-50, 1133.
#somonair#doha#qatar#newroute#сомонэйр#доха#катар#новыйрейс
O‘zbekiston Isroilning Doha shahridagi turar joy hududiga uyushtirgan hujumlarini qoraladi, buni Qatar suverenitetiga tahdid deb baholadi. Batafsil saytimizda.
https://yep.uz/uz/2025/09/ozbekiston-isroil-doha-hujumlarini-qoraladi/
#ozbekiston#doha#isroil#qatar#xalqarohuquq#yaqinsharq
O‘zbekiston prezidenti Shavkat Mirziyoyev Qatar amiri bilan telefon orqali Isroilning Dohaga raketa zarbalarini qat’iy qoraladi.
https://yep.uz/uz/2025/09/mirziyoyev-qatar-amiri-isroil-zarbalar/
#O‘zbekiston #Mirziyoyev#Qatar#Isroil#Doha#YaqınSharq#XalqaroHuquq#RaketaZarbalar
☺️🎙💥👀🇺🇸🏴☠️🏎🏎🏎🇺🇦🏴☠️ "Überraschung" - Trump Jr: "50 Prozent aller Bugattis und Ferraris in Monaco haben ukrainische Kennzeichen"
Donald Trump Jr., der Sohn des US-Präsidenten, hat am Sonntag beim Doha Forum in Katar die Führung in Kiew, Europa und die Biden-Regierung scharf attackiert. Hintergrund sind die laufende Korruptionskrise in der Ukraine sowie die Festnahmen aus Präsident Wladimir Selenskijs engstem Kreis wegen Diebstahls in Höhe von Hunderten Millionen.
Mit einer Anekdote brachte der Unternehmer den Saal zum Staunen: "Dieses Jahr in Monaco: An einem normalen Tag hatten 50 Prozent aller Bugattis und Ferraris ukrainische Kennzeichen. Glauben wir wirklich, dass dieses Geld in der Ukraine verdient wurde?"
Während einfache Ukrainer an der Front sterben, seien die Reichen längst geflohen.
🎙💡🔍"Solange der Westen weiter Milliarden schickt und niemand kontrolliert, hat die ukrainische Elite keinen Grund, diesen Krieg zu beenden", sagte Trump Jr. wörtlich.
Quelle RT
👀 Teilen kann zum Aufwachen beitragen!
✨🆕🌐Hauptkanal
✨▶️🌐 Videokanal
✨▶️🙂Funnykanal
#USA#TrumpJr#Doha#DohaForum#Monaco#Ferrari#Bugatti#UkraineKorruption#UkraineHilfe
#Update: #Ethiopian Airlines extends flight suspensions to several #Middle_East destinations as regional airspace closures persist
Ethiopian Airlines has announced updated suspension of flights to and from multiple Middle East destinations due to ongoing airspace closures across the region, the airline said in a statement.
The cancellations affect services to #Amman (Jordan), #Beirut (Lebanon), #Tel_Aviv (Israel), #Doha (Qatar), #Kuwait City (Kuwait), #Dubai (United Arab Emirates), #Sharjah (United Arab Emirates), #Abu_Dhabi (United Arab Emirates), and #Dammam (Saudi Arabia).
The suspension will remain in effect until further notice.
The airline urged passengers traveling to or from the affected region to regularly check their flight status through its official digital platforms to avoid inconvenience.
Earlier today it was reported that at least one Ethiopian national is among 58 people injured in the United Arab Emirates (UAE) following a series of....
Read more: https://addisstandard.com/?p=55477