Что делать если нужно поставить какую-то 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
OHCHR Fellowship 2026 in Switzerland 🇨🇭 (Fully Funded)
Apply: https://opportunitiescorners.com/ohchr-minorities-fellowship/
4 Weeks Program in Geneva. Open to all Nationalities.
Fellowship Covers Return Airfare, Accommodation, Living Expenses, and Insurance.
#OpportunitiesCorners#OHCHR#Switzerland
#UN rights office cites ‘widespread repression’ in #Uganda before next week’s presidential election
The U.N. Human Rights Office said Friday that a presidential election in Uganda next week would be “marked by widespread repression and intimidation” against the opposition and others.
Ugandan authorities in the East African country have used lawfare, including military legislation, to restrict the activities of politicians and others before voting on Jan. 15, the Geneva-based Office of the U.N. High Commissioner for Human Rights, or #OHCHR, said in a new report.
“Next week’s elections in Uganda will take place in an environment marked by widespread repression and intimidation against the political opposition, human rights defenders, journalists and those with dissenting views,” OHCHR said.
Ugandan police, the military and others have used live ammunition to disperse peaceful assemblies, & the security forces....
https://apnews.com/article/uganda-election-un-rights-report-1e30ab4e21419dad8cd73567fbc0759c
News: Rights groups warn #Ethiopia ‘on the brink’ of renewed large-scale conflict, call for urgent international action
Twenty international as well as regional human rights and humanitarian organizations have warned that Ethiopia is “on the brink” of renewed large-scale conflict and called on the international community to take urgent action to prevent mass atrocities amid escalating violence across several regions.
In an open letter dated 20 February 2026, the groups said ongoing and unresolved conflicts, entrenched impunity, and rising regional tensions are placing civilians at grave risk.
They cited reports by the Office of the #UN High Commissioner for Human Rights (#OHCHR) of heavy weapons use, drone strikes, and arbitrary detentions, warning that space for de-escalation is rapidly shrinking.
The signatories said there has been little meaningful progress toward durable conflict resolution in #Tigray, #Oromia, and #Amhara despite repeated ....
Read more: https://addisstandard.com/?p=55309
News: #UN reports Over 6,000 killed in #Sudan’s El Fasher in three days as RSF took control
At least 6,000 civilians were killed in just three days during an assault on the #Darfur city of #El_Fasher, according to a new report by the United Nations Office of the High Commissioner for Human Rights (#OHCHR).
The report describes a wave of violence that has shocked human rights monitors, highlighting the scale of atrocities committed by Sudan’s Rapid Support Forces (#RSF) and allied militias.
According to the report, the killings occurred between October 25 and 27, 2025, as RSF fighters and allied paramilitaries overran El Fasher. On October 26, the RSF, along with their allied Arab militias known as Janjaweed, seized control of el-Fasher, the Sudanese army’s last remaining stronghold in Darfur, and launched a violent campaign across the city and its surrounding areas after enduring...
https://web.facebook.com/AddisstandardEng/posts/pfbid02rce3AMAVyevwjuMvSNrMmeUvRvqwS2SpH8NNMxkUz1sAonPfXdtmqpjpUvJpVtRhl