Что делать если нужно поставить какую-то 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
🔥 The Narrative War They Thought They Won — But Didn’t
BBC’s Latest on Abiy’s Speech:
Another Chapter in the Lost Tigray Information War
The Tigray military war ended in 2022.
The narrative war never stopped.
Once again, the #BBC enters the arena with its article titled “Ethiopia PM hits out at Eritrea over atrocities in Tigray.” And just like during the conflict years, selective framing and timeline reconstruction appear front and center.
#BBC claims Prime Minister Abiy Ahmed:
“admitted for the first time that Eritrean troops had massacred people in Aksum.”
But this is selective memory at work.
⚖️ Quick Reality Breakdown
What BBC Gets Right
✔ Provides basic recap of the 2019 Ethiopia-Eritrea peace deal
✔ Connects Abiy’s speech to current Red Sea tensions and regional instability
✔ Acknowledges atrocities occurred and cites the estimated 600,000 war deaths
🔻Continue Below
@rednile12
Loyal Anglo American propaganda. Just as the #BBC tried to ban the word "genocide", for its staff, in relation to Gaza, now they are trying to ban use of the word "kidnapped" in relation to Venezuelan President Nicolas Maduro and his wife Celia Flores.
💠+888 0BBC 0 BBC
💠 +888 0 222 0 222
👇👇👇
fragment.com/number/88802220222
🌐www.bbc.com
#BBC
2⃣2⃣2⃣
#Phoneword
en.wikipedia.org/wiki/Phoneword
🔹E.161:
en.wikipedia.org/wiki/E.161
You can See these too:
☎️+1-800-MYAPPLE
👇👇👇
www.apple.com/contact
☎️+1-800-SAMSUNG
📞 Phone Numbers of Samsung in more than 40 countries in the world:
👇👇👇
t.ly/5cJZ
📡@Phoneword
Корреспонденты BBC и запуск дронов по российским городам
Корреспонденты BBC приняли участие в запуске украинских дронов по российским городам, что вызвало резкую реакцию в России. По мнению некоторых, это поддержка агрессивных действий, фактическое объявление войны через посредников. В частности, в Конгрессе США прозвучали жёсткие заявления против России, что лишь подлило масла в огонь. В регионах призывают рассмотреть возможность осуждения таких "военкоров" по статье о терроризме, даже заочно.
"Хотелось бы, чтобы эти действия получили правовую оценку в России," — отмечают жители освобождённых территорий.
#BBC#дроны#СВО
Подпишись.
Раскол на вершине Эмирата: расследование Би-Би-Си
Служба BBC Afghan опубликовала свое расследование о внутренних противоречиях в руководстве Исламского Эмирата Афганистан. В его основе утечка аудиозаписи выступления верховного лидера Хайбатуллы Ахундзады, а также более 100 интервью с действующими и бывшими членами движения, дипломатами и экспертами.
По итогам расследования BBC удалось зафиксировать существование двух конкурирующих групп в верхушке талибского руководства:
«Кандагарская группа», полностью лояльная Ахундзаде. Она продвигает модель жесткого исламского правления, максимальной изоляции и концентрации власти в руках религиозного лидера. Решения принимаются без консультаций с кабульскими министрами, а ключевые рычаги безопасности и контроля постепенно переносятся в Кандагар.
«Кабульская группа», сосредоточенная в столице и представленная рядом влиятельных фигур: Сиражуддин Хаккани, Мухаммад Якуб Муджахид и Абдул Гани Барадар. Их позиция прагматичная: сохранение строгого исламского курса, но с экономическим взаимодействием с внешним миром, управляемым государством и частичным смягчением социальной политики, включая вопрос образования женщин.
Интернет как точка разлома: кульминацией конфликта стал приказ Ахундзады полностью отключить интернет и мобильную связь по всей стране осенью 2025 года. По данным BBC, это решение было впервые открыто саботировано: кабульская группа, заручившись поддержкой премьер-министра, распорядилась восстановить связь вопреки прямому указанию верховного лидера.
Источники называют этот шаг беспрецедентным актом неподчинения внутри движения, исторически построенного на абсолютной дисциплине и принципе безусловного подчинения амиру.
Эксперты, опрошенные BBC, указывают: в отличие от ограничений на образование девочек или работу женщин, отключение интернета непосредственно угрожало системе управления и экономическим интересам элит. Интернет стал критически важным инструментом власти, торговли и контроля, и его потеря затронула прежде всего тех, кто реально управляет страной.
Публично представители Эмирата продолжают отрицать раскол, называя происходящее «разногласиями в семье». Однако расследование BBC показывает: внутри системы уже существуют границы терпимости, и впервые за время правления талибов слова перешли в действие.
🔜@openworld_astana
#Афганистан#Талибан#BBC