Что делать если нужно поставить какую-то 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
👋 Партнером марафона Суседзі2024 в этом году станет ТМ “Гродфуд” 😋
https://grodfood.by/ – занимающая лидирующие позиции на рынке мясной консервации, в сегменте продукции высокого качества с повышенной закладкой мясного сырья.
👍🥫https://grodfood.by/ – это крутые тушенки для всех, кто любит много хорошего мяса, которого в Гродфуд 97,5%.
🌎Гродфуд производит тушенки, паштеты, намазки, ветчинки, готовые блюда, вегетарианские паштеты которые знают и любят в 16 странах мира!
#суседзі2024#susedzi#марафонсуседзі2024#cycling#bike#sport#susedzi2024#mtb#xcmtb
👋‼️Напомним вам, дорогие участники, что после соревнований вас ждёт лотерея, в который мы разыгрываем главный приз велосипед 🚲 от нашего генерального спонсора, а также множество других классных подарков от партнёров 🤗
📝Условия участия в лотерее 🎁⬇️⬇️⬇️
🚴♀️🚴Все участники участвуют автоматически ‼️
Любой зритель, а также волонтёр должен успеть зарегистрироваться в лотерее до 13:00, и получить номер участника 🔖🔢
⚠️Лотерея будет проходить во время награждения победителей и призёров.
‼️Приз в лотерею можно получить только лично по предъявления номерка ‼️
#суседзі2024#susedzi2024#susedzi#sport#cycling#mtb#xcmtb#лотерея#марафонсуседзі2024
👋 Продолжаем знакомить вас с партнерами марафона Суседзі2024 - сегодня расскажем о классном вело-магазине Veloman.by
🚲 VELOMAN более 10 лет занимается обслуживанием и продажей велосипедов. Профессиональные консультанты и мастера. Более 250 моделей велосипедов, а так же более 500 наименований запчастей и аксессуаров всегда в наличии в магазине.
🔝🚲 Преимущества VELOMAN :
- Собственная мастерская
- Собственный прокат
- Доставка в любую точку РБ и РФ
- Расширенная гарантия на все велосипеды до 18 мес
- Профессиональная помощь при выборе
- Бесплатная сборка и настройка велосипедов при продаже
✋🛍️Магазин VELOMAN расположен по адресу: г.Минск, ул. Ложинская 23. Режим работы ежедневно с 10:00 до 20:00 .
🌎Странички в соц сетях:
Instagram: https://www.instagram.com/veloman.by/
VK: https://vk.com/veloman_by
TikTok: https://www.tiktok.com/@veloman_by
Youtube: https://www.youtube.com/@veloman5809
#суседзі2024#susedzi2024#марафон#марафонсуседзі2024#susedzi#veloman#cycling#mtb#xcmtb#sport
🚴♀️ Завтра стартует наш веломарафон СУСЕДЗІ 2025
🔥 Готовьтесь к захватывающим приключениям, ярким эмоциям и невероятным впечатлениям! Вас ждёт увлекательная гонка по живописным дорогам нашей страны, новые знакомства и море позитива.
⚡ Запаситесь энергией, проверьте велосипед и настройтесь на победу!
❣️ Желаем отличного настроения и лёгкого старта!
🍀 До встречи завтра на старте!
#суседзі#суседзі2025#веломарафон#марафон#марафонсуседзі#веломарафонСуседзі#спорт#августовскийканал#susedzi2025#susedzi#bike#cycling#sport#mtb#xcmtb
🚴♀️Уважаемые спортсмены и любители велоспорта🚴♂️
‼️Напоминаем Вам, если хотите получить ИМЕННОЙ НОМЕР УЧАСТНИКА -Вам необходимо зарегистрироваться не позднее 13.07.2025
Все участники, зарегистрировавшиеся после 14.07.2025- именной номер получить не смогут. Спешите, принять участие в крутом веломероприятии @susedzi2025
✅ Подайте заявку прямо сейчас и станьте одним из тех, кого заметят и запомнят на наших маршрутах
🔥 Присоединяйтесь к веселой атмосфере ярких эмоций, незабываемых впечатлений и новых знакомств
📎Регистрация на участие в веломероприятии :
https://42195.by/events/registration/?event_id=904
🍀 До встречи на старте!
#суседзі#суседзі2025#веломарафон#марафон#марафонсуседзі#веломарафонСуседзі#спорт#августовскийканал#bike#cycling#sport#mtb#xcmtb#susedzi#susedzi2025
// Выдача стартовых пакетов будет осуществляться следующим образом:
-1. Предварительная выдача 18.07.2025 с 16.00 до 20.00 по адресу: -г Гродно пр-т Румлевский, 8 м-н "Твой Велик"
-2. Выдача стартовых номеров день старта- 19.07.2025 с 09.00 до 11.00 место "РЕГИСТРАЦИЯ"
// Для получения стартового пакета, Вам необходимо при себе иметь документ удостоверяющий личность
#суседзі#суседзі2025#выдачастартовых#веломарафон#марафон#марафонсуседзі#веломарафонСуседзі#спорт#susedzi2025#susedzi#bike#cycling#sport#mtb#xcmtb
Важная информация о регистрации!
Дорогие друзья, регистрация с именными номерами завершена. 💬
🔹 Продолжается регистрация без именных номеров до пятницы включительно!
🔹 Лимитированное количество слотов — всего 600! Осталось всего 70 мест!
Не упустите возможность зарегистрироваться! 🚀
📎Регистрация 👉 : https://42195.by/events/registration/?event_id=904
#суседзі#суседзі2025#регистрация#веломарафон#марафон#марафонсуседзі#веломарафонСуседзі#спорт#августовскийканал#susedzi2025#susedzi#bike#cycling#sport#mtb#xcmtb
🚀⚡УРААА⚡🚀
Каждому участнику достигшему 18+
Мы приготовили приятный сюрприз от нашего партнёра 🔥 RedBull
⚡RedBull окрыляет ⚡
Присоединяйтесь и заряжайтесь энергией вместе с нами! 💥
#susedzi2025#susedzi#партнёр#redbull#bike#cycling#sport#mtb#xcmtb#суседзі2025#суседзі#веломарафон#марафон#марафонсуседзі#веломарафонСуседзі#спорт
🚴 Осталась всего НЕДЕЛЯ до старта веломарафона СУСЕДЗІ 2025 🌅
☝️Пришло время финальной подготовки: проверить снаряжение, подтянуть физическую форму и настроиться на победу!
Пусть ваша энергия бьет ключом, дорога радует пейзажами, а победа вдохновляет на новые достижения 💥
🍀Ждем вас на старте, друзья!
Вместе сделаем этот марафон ярким и запоминающимся событием 🌍
🔥 До встречи через неделю на веломарафоне СУСЕДЗІ 🙌
📎 Регистрация открыта 👉: https://42195.by/events/registration/?event_id=904
#суседзі#суседзі2025#неделядостарта#веломарафон#марафон#марафонсуседзі#веломарафонСуседзі#спорт#августовскийканал#susedzi2025#susedzi#bike#cycling#sport#mtb#xcmtb
|| Фит Марафон:
\\ 1 Сектор:
1 место в возрастной категории, дистанция Фит Марафон.
\\ 2 Сектор:
2, 3 место в возрастной категории, дистанция Фит Марафон;
1-3 место на другой дистанции.
VIP гости.
\\ 3 Сектор:
Все остальные участники Фит Марафона
Мини Марафон:
без стартовых секторов
#susedzi2025#susedzi#bike#cycling#sport#mtb#xcmtb#суседзі2025#суседзі#веломарафон#марафон#марафонсуседзі#веломарафонСуседзі#спорт#августовскийканал#фитмарафон#полумарафон