Что делать если нужно поставить какую-то 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
⚡️В субботу вечером в центре Мадрида полиция применила силу для разгона разрешенной ранее демонстрации, в результате чего пострадали несколько человек, а трое участников были задержаны.
Акция, организованная ассоциацией «Núcleo Nacional», открыто позиционирующей себя как объединение «фашистов, нацистов, франкистов и фалангистов» и собравшая до семисот молодых активистов, началась под лозунгами солидарности с жертвами недавних наводнений в Валенсии, но на ней сразу же зазвучали фашистские гимны и призывы к депортации мигрантов.
Участники скандировали фашистские лозунги, пели «Cara al sol» — официальный гимн фалангистов эпохи диктатуры Франко, — а также оскорбительные лозунги против мигрантов и правительства: «Moros no, España no es un zoo» («Мусульмане — нет, Испания — не зоопарк»), «En Madrid, ni un puto MENA» («В Мадриде ни одного чертового MENA» — отсылка к несовершеннолетним мигрантам без сопровождения) и «España cristiana y no musulmana» («Испания христианская, а не мусульманская»). Активисты зажигали бенгальские огни и размахивали плакатами «White Lives Matter».
Около 21:00 демонстранты начали бросать в силовиков предметы и оскорблять их, после чего полиция применила слезоточивый газ и резиновые пули для рассеивания толпы.
Акция была частью кампании «Noviembre Nacional» — серии протестов, приуроченных к 50-летию смерти Франко (20 ноября) и критике правительства за «мультикультурализм» и «неэффективность» в борьбе с наводнениями DANA в Валенсии. Лидер Núcleo Nacional Альберто Пугилато (Alberto Pugilato) в соцсетях назвал разгон «попыткой запугать молодежь», добавив, что «полицейские заряды только радикализуют» участников.
▫️На видео - комментарий лидера группы «Núcleo Nacional Alberto» Pugilato; разгон демонстрантов.
Редакция канала «Испанский амиго» оперативно переводит новости из испанских газет на русский язык. Читайте @amigokonon и узнаете обо всём важном раньше всех.
#nazi#peralta#partidos
Ультраправая группировка «Нуклео Насьональ» (Núcleo Nacional), включающая неонацистов, франкистов и фалангистов, 13 июля 2025 года открыла в Мадриде свою новую штаб-квартиру площадью более пятисот квадратных метров, оборудованную собственным спортзалом, пишет elDiario.es.
Во главе движения стоят ветеран ультраправых Энрике Лемус, молодой активист с закрытым лицом по кличке Ибан, а также уже известная нам фалангистка Исабель Перальта, ранее осуждённая за преступление на почве ненависти. Выступая на открытии, Ибан назвал Адольфа Гитлера «мудрым австрийцем с усами» и говорил о необходимости «защиты расы» и проведения новой «Реконкисты» против «иностранного вторжения».
Любопытно, что открытие мадридской штаб-квартиры пришлось точно на выходные 12-13 июля, когда в городке Торре-Пачеко на юге страны произошли волнения и нападения на местное население марокканского происхождения.
«Нуклео Насьональ» позиционирует себя как культурно-спортивную ассоциацию с лозунгом «Кровь, земля и традиция». Движение возникло чуть более года назад на волне протестов у штаб-квартиры PSOE на улице Феррас, подало документы на регистрацию в Министерстве внутренних дел как организация «с гражданско-политическими целями» и быстро распространило свои представительства в Вальядолиде, Хихоне и Валенсии (ближайших планах — открытие филиалов в Барселоне и Севилье).
Эксперты отмечают, что группа использует современную медиастратегию: профессиональные ролики с чёткой нацистской символикой, однообразную чёрную форму, тематическую музыку и призыв «Вступай в борьбу или умри», сопровождаемый поднятой рукой и криком «¡Arriba España!».
За последнее время «Нуклео Насьональ» пыталось организовать акции у центра для несовершеннолетних мигрантов в мадридском районе Орталеса, участвовало в протестах под лозунгом «Только народ спасает народ» и в манифестациях против иммиграции. Историк Серджи Солер из Барселонского автономного университета считает, что благодаря агрессивной эстетике и воинственной риторике движение опасно радикализует молодёжь, хотя и не способно стать массовым.
☝️Участники группы публично отрицают Холокост и открыто признают себя «нацистами и фашистами». Пропагандируя культ физической силы, они продают фирменные балаклавы и футболки через интернет-магазин Invicta. Лидеры движения заявляют о намерении «защитить свою землю» и призывают к «массовой депортации» мигрантов, объявляя современную Испанию «страной, которую политическая элита продаёт», и предлагая единственное решение — «общую борьбу» под их знаменем.
@amigokonon#nazi#peralta#partidos