Что делать если нужно поставить какую-то 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
News: #Southwest State president resigns after federal forces seize #Baidoa
Somalia’s Southwest State President, Abdiaziz Hassan Mohamed Laftagareen announced his resignation on Monday, hours after federal troops and allied armed groups entered Baidoa following clashes that left at least two people dead and 25 others wounded.
In a brief statement posted on his official Facebook page, Laftagareen said the resignation was effective immediately, without providing further details.
His whereabouts remain unclear.
Earlier in the day, forces of the Somali National Armed Forces, backed by allied militias, moved into Baidoa and reportedly took control of key installations, including the police station and major business centers, encountering limited resistance.
Regional forces loyal to Laftagareen were said to have withdrawn from parts of the city.
According to local reports, strategic sites including the airport and the.......
https://x.com/addisstandard/status/2038849050108416203?s=20
🤩FAA расследует опасное сближение двух Boeing в Нэшвилле
📌Федеральное авиационное управление США начало расследование после инцидента в зоне аэропорта Нэшвилла. Два рейса Southwest Airlines оказались на минимальной дистанции – вертикальный интервал между самолётами составил около 500 футов (152 метра)
🔵Рейс 507 выполнял заход на посадку в порывистый ветер и ушёл на второй круг. При наборе высоты самолёт оказался на курсе, пересекающемся с рейсом 1152, который взлетал с параллельной полосы. По данным экспертов, сработало бортовое предупреждение о возможном столкновении, после чего экипажи выполнили манёвры уклонения
🔵Оба рейса завершились благополучно: 507 позже приземлился, 1152 продолжил взлёт. Southwest отметила профессионализм пилотов
⬅️Подобные ситуации – напоминание о том, насколько важна слаженная работа экипажа и диспетчеров
Лёгкое небо
#aviation#news#FAA#Southwest
#Somalia: Federal government declares mandate of #Southwest state president expired
Somalia's federal government escalated a deepening political standoff with the #Southwest_State administration on Sunday, declaring the regional leadership's term in office officially expired and moving to initiate a transition process.
In a formal statement, the Federal Ministry of Interior, Federal Affairs and Reconciliation asserted that President Abdiaziz Hassan Mohamed, popularly known as Laftagareen, no longer holds a valid mandate.
The ministry stated it has been tasked with overseeing the selection of new leadership to prevent a power vacuum in Somalia.
The move marks a significant fracture in the delicate relationship between Mogadishu and the federal member states.
Federal officials argued that the move is a necessary step to uphold constitutional timelines, while supporters of......
https://www.garoweonline.com/en/news/somalia/somalia-federal-government-declares-mandate-of-southwest-state-president-expired
News: #AU chairperson urges dialogue, restraint amid rising tensions in #Somalia’s Southwest State
The African Union Commission (#AUC) Chairperson, Mahmoud Ali Youssouf, has called for dialogue and restraint among Somali stakeholders amid rising tensions in the #Southwest State of Somalia.
In a statement released by the AUC, the Chairperson said he is closely monitoring developments in the region and expressed concern over escalating tensions and their potential impact on the country’s stability, security, unity, and humanitarian situation.
He underscored the importance of the National Consultative Council as a key platform for inclusive dialogue and consensus-building, urging all parties to make constructive use of it to resolve differences peacefully.
The statement emphasized that disputes between the Federal Government and Federal Member States should be .......
https://www.facebook.com/AddisstandardEng/posts/pfbid0s5reSjXyuiniXuYjiot3AckwjHmjs6TqtDhGeL7NJRV3Bat3MHkJ8sXogGJrSzDql
#Somalia: #Southwest President Laftagareen resigns from Hassan Sheikh Mohamud's JSP Party
Southwest State President Abdiaziz Hassan Mohamed Laftagareen has resigned from the Justice and Solidarity Party (#JSP), led by #Somali President Hassan Sheikh Mohamud, in the latest sign of escalating tensions between his administration and the federal government.
Laftagareen, who had been serving as deputy chairman of the JSP, announced his resignation on March 18, 2026.
“I, President of Southwest State H.E. Abdiaziz Laftagareen, resign as Deputy Chairman of the JSP effective today, March 18, 2026. I cannot support unconstitutional actions that weaken our unity. My commitment remains to Somalia’s unity, democracy and the rule of law,” he said in a statement.
The regional leader argued that Somalia’s only legitimate constitutional framework remains the 2012 provisional constitution,....
https://www.hiiraan.com/news4/2026/Mar/204696/southwest_president_laftagareen_resigns_from_hassan_sheikh_mohamuds_jsp_party.aspx
Federal government suspends #Mogadishu–#Baidoa flights after Southwest halts cooperation
#Somalia’s federal government on Tuesday suspended civilian flights between Mogadishu and Baidoa, in a move widely seen as increasing pressure on #Southwest State authorities amid a deepening political standoff.
Local sources said that as of Tuesday morning, commercial passenger aircrafts were unable to land in Baidoa following the decision. Only #United_Nations and cargo flights were being permitted to operate during the suspension.
Officials in Southwest State condemned the measure.
“The Somali government has stopped passenger planes from arriving in Baidoa. People entered the airport at 6:00 this morning, and they have not been allowed to departure yet,” said Ilyas Ali Nur, a senior official in the regional administration.
Sources indicated that flight clearances had been.....
https://www.hiiraan.com/news4/2026/Mar/204688/federal_government_suspends_mogadishubaidoa_flights_after_southwest_halts_cooperation.aspx