Что делать если нужно поставить какую-то 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
СД Хэдхантер дивиденды за 2025 год — 233 руб./акц. (ДД: 7,9%) Группа направит на дивиденды около 116% скорр. чистой прибыли. ВОСА — 27 апреля#HEAD
Читать далее
👉https://smartlab.news/i/180790
мы в max
Хэдхантер МСФО за IV кв и 2025 год
♦️ Выручка за IV кв ₽10,4 млрд (+0,4% г/г)
♦️ Выручка за год ₽41,2 млрд (+4% г/г)
♦️ Чистая прибыль за IV кв ₽5,4 млрд (–18,7% г/г)
♦️ Чистая прибыль за 2025 год ₽20,8 млрд (–14,9% г/г)
♦️ Скорр. EBITDA за IV кв ₽5,9 млрд (+7% г/г)
♦️ Скорр. EBITDA за 2025 год ₽22,7 млрд (–4,7% г/г)
♦️ Прогноз на 2026 год: Рост выручки до 8% г/г при сохранении рентабельности по скорр. EBITDA на уровне выше 50%
♦️Совет директоров рекомендовал дивиденды 233 руб. на акцию.
#HEAD
Сайт | Бот | Invest Era
Хэдхантер МСФО 2025 г:
📈 выручка ₽41,20 млрд (+4,0% г/г)
📉 чистая прибыль ₽17,99 млрд (снижение в 1,3 раза г/г)#HEAD
Читать далее
👉https://smartlab.news/i/183966
мы в max
🖨 Хэдхантер МСФО за IV кв и 2025 год:
📈 Выручка за IV кв ₽10,4 млрд (+0,4% г/г)
📈 Выручка за год ₽41,2 млрд (+4% г/г)
📉 Чистая прибыль за IV кв ₽5,4 млрд (–18,7% г/г)
📉 Чистая прибыль за 2025 год ₽20,8 млрд (–14,9% г/г)
📈 Скорр. EBITDA за IV кв ₽5,9 млрд (+7% г/г)
📈 Скорр. EBITDA за 2025 год ₽22,7 млрд (–4,7% г/г)
🔮 Прогноз на 2026 год: Рост выручки до 8% г/г при сохранении рентабельности по скорр. EBITDA на уровне выше 50%
#HEAD
Читать далее
👉https://smartlab.news/i/180789
мы в max
МНЕНИЕ: Краткосрочно акции Хэдхантер непривлекательны: ждем слабых показателей в 1К26. Долгосрочно смотрим позитивно с рекомендацией «Покупать» на фоне смягчения ДКП - Совкомбанк
Читать далее
👉https://smartlab.news/i/179614
#HEAD
🖨 Хэдхантер операционные результаты за III кв 2025 года:
— Выручка ₽10,94 млрд (+1,9% г/г) 📈
— Скорр. чистая прибыль ₽6,12 млрд (–15,5% г/г) 📉
Читать далее
👉https://smartlab.news/i/169930
#HEAD