Что делать если нужно поставить какую-то 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
Мы начинаем I Чемпионат по космической робототехнике "Кубок Роверов" 🏆🤖
Сегодня начинается первый день соревнований. Команды потихоньку начинают собираться в НИИ механики МГУ, в котором для них подготовлены аудитории для подготовки своего оборудования, испытательный полигон с естественным природным ландшафтом, и пирожки и кофе 🥧☕️
Пожелаем удачи командам и организаторам!
#rovercup#voltbro#кубокроверов
Эксперты завершили оценку Итоговых отчетов для допуска к финалу чемпионата по космической робототехнике "Кубок Роверов" и мы готовы объявить результаты. Команды, которые приглашаются на финал:
🏆Лига 1. Навесное оборудование для ровера:
1. KSX - г. Великий Новгород
2. Высотка - г. Москва
3. АЦТ-111 - г. Санкт-Петербург
4. Квазар - г. Калининград
5. Лужайка - г. Волгоград
🏆Лига 2. Малый ровер:
1. techno_team - г. Новосибирск
2. PowerRangers - г. Новосибирск
3. КТИМ - г. Новомосковск
Спасибо командам Космостарс и Космоксик, которые не прошли в финал, за участие! Мы надеемся, что за этот год вы приобрели необходимые навыки для успешного участия в нашем Чемпионате в следующем году!
Напоминаем, что финал пройдет с 8-го по 11-ое июля на базе НИИ механики МГУ им. М.В. Ломоносова
Всю информацию о Чемпионате можно найти на сайте: https://roverchallenge.ru/
#voltbro#кубокроверов#братьявольт
У нас продолжается региональный отбор в конкурсе "АгроНТРИ"
Мы ведем номинацию АгроРоверы и год от года она становится всё серьезней и серьезней. Наша номинация достаточно сложная, но огромный прогресс в том, что мы получаем обратную связь от коллег в АгроВУЗах - что как лучше организовать и как доделать.
Это огромный прогресс по сравнению с первыми разами, когда просто все делали как могли.
Будем расти дальше. Спасибо огромное всем агроВУЗам, которые не бросили из-за сложности, а постарались разобраться.
#АгроНТРИ#АгроРоверы#Voltbro
Небольшой видеоролик о прошедшем финале I-го Чемпионата по космической робототехнике "Кубок Роверов" 2025 года!
https://vk.com/video-206862623_456239563
Будем ждать всех в следующем соревновательном году!
Уже скоро анонс еще одного роверного соревнования 🤖🏎
#rovercup#кубокроверов#voltbro#братьявольт
🚀 1 ноября завершается регистрация на чемпионат по космической робототехнике «Кубок Роверов»!
Регистрация членов команд здесь: roverchallenge.ru/reg
👨🚀 Участвовать могут как школьные (с 8-го класса), так и студенческие команды. Компетенции в команде: электронщик, конструктор, программист.
Регламент чемпионата соответствует международным соревнованиям RoverChallenge, в которых российская команда заняла 2-е место в Канаде в этом году!
Вас ждут космические задания, где вы:
- освоите ROS (Robot Operating System), Python и C;
- попробуете симулятор Gazebo;
- поработаете с электроникой, схемотехникой и системами связи;
- прокачаете навыки проектной деятельности — командную работу, защиту проектов, видеомонтаж, создание презентаций и документации.
Чемпионат проходит при поддержке Госкорпорации «Роскосмос» и НИИ механики МГУ им. М.В. Ломоносова.
#voltbro#кубокроверов#rovercup#вольтбро#роскосмос
🚀 Начинаем новый сезон чемпионата по космической робототехнике «Кубок Роверов»!
Если ты хочешь попробовать себя в разработке роботов, работающих в реальных условиях, — этот чемпионат для тебя.
📅Регистрация открыта до 1 ноября 2025 → roverchallenge.ru/reg
👨🚀 Участвовать могут как школьные (с 8-го класса), так и студенческие команды.
Вас ждет работа над проектом, где вы:
- познакомитесь с космическими миссиями и планетоходами;
- освоите ROS (Robot Operating System), Python и C;
- попробуете симулятор Gazebo;
- поработаете с электроникой, схемотехникой и системами связи;
- прокачаете навыки проектной деятельности — командную работу, защиту проектов, видеомонтаж, создание презентаций и документации.
Каждая команда сможет придумать и реализовать свой научный проект по исследованию планет.
Видео с Финала I-го чемпионата: https://vkvideo.ru/video-206862623_456239563
ℹ️ Подробнее о чемпионате — на сайте: roverchallenge.ru
Чемпионат проходит при поддержке Госкорпорации «Роскосмос» и НИИ механики МГУ им. М.В. Ломоносова.
🏆 Впереди вас ждет много промежуточных отчетов и финальных призов, а финал состоится в Москве в июле 2026 года.
Ждем как начинающих, так и опытных робототехников!
#voltbro#кубокроверов#rovercup#вольтбро#роскосмос
Первый набор электроники VBCores для участия в чемпионате "Кубок Роверов" наконец-то нашёл своих счастливых обладателей! Ими стали прошлогодние финалисты Лиги 1 — команда "Высотка". 🏆
Мы уверены, что с этим комплектом у них получится добиться ещё более впечатляющих результатов, создавая своего собственного ровера для Лиги 2.
А мы тем временем готовим учебный курс по работе с VBCores — от первых шагов и запуска простых примеров до сборки настоящей электроники для управления ровером.
#voltbro#вольтбро#кубокроверов#rovercup#vbcores
🚀 Друзья! Напоминаем, что регистрация на II Чемпионат по космической робототехнике «Кубок Роверов» продолжается!
«Кубок Роверов» — российский аналог международных Rover Challenge, где школьники и студенты создают собственные планетоходы и проверяют их в условиях, максимально приближенных к реальным космическим миссиям. Это шанс проявить инженерное мышление, прокачать навыки проектирования, электроники и программирования, научиться работать в команде и стать частью сообщества будущих исследователей космоса.
✨ В этом году участников ждёт:
1️⃣Совершенно новая станция для задачи технического обслуживания в Лигах 1 и 2
2️⃣Переход на ROS2 в Лиге 1
3️⃣Рекомендуемые наборы электроники на базе STM32
4️⃣Ещё больше образовательных видео и методических материалов
🔗Успейте зарегистрироваться: https://roverchallenge.ru/reg
📸 Фото, результаты прошлого года и все подробности — на официальном сайте: https://roverchallenge.ru/
Будущее космоса начинается здесь — присоединяйтесь к Чемпионату «Кубок Роверов»!
#voltbro#кубокроверов#rovercup#вольтбро#роскосмос#msu