Что делать если нужно поставить какую-то 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
#softSkills#raspberryPi
😎
Raspberry Pi for Beginners
Description
The course will start with setting up your Raspberry Pi and installing Raspberry Pi OS without an external monitor and keyboard, followed by getting along with the basics of Python3 programming. You will then work with the Raspberry Pi’s GPIO panel, use a PIR sensor to detect movement from your Pi, and discover how to use a Unix terminal and the most useful command-line tools. You will also send an email from your Raspberry Pi, take photos and videos using the Raspberry Pi camera V2, and create a web server on your Raspberry Pi with the Flask framework. Finally, you will build a complete surveillance and alarm project with Raspberry Pi.
Author(s): Edouard Renard
Language: English
Updated: September 2022
Videos Duration: 10h 8m
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
Пейджер для Telegram без сотовой связи из России! 📡
Инженер создал девайс на Raspberry Pi с mesh-сетями:
Домашний модуль — сервер
Переносной — для чтения каналов
✅ Работает при блокировках
✅ Только текст (без фото/видео пока)
✅ Цена ~3000 рублей (452000сум)
Лучше гаджета для свободы информации не придумаешь! 😎
#TelegramPager#MeshСети#RaspberryPi#Технологии#Россия
Коллеги, друзья и все, кто следит за рождением Адама и Евы! Вчера случилось то, ради чего всё затевалось: я провёл первые полевые испытания зрения Адама в реальном мире, и он в режиме реального времени не просто видел объекты, а описывал их вслух голосом, как настоящий помощник.
Вот как это работает сейчас на железе робота:
1. Глаз: Камера на Raspberry Pi захватывает изображение.
2. Зрение (YOLOv11n, 5 МБ): Сверхлёгкая модель детектирует объекты примерно за 1 сек / кадр.
3. Осмысление (YandexGPT): Получившийся список объектов передается в YandexGPT, который формирует лаконичное и понятное описание сцены.
4. Голос (Yandex SpeechKit): Это описание не печатается в терминале, а сразу синтезируется в чистый, человеческий голос и звучит из динамика робота. 🔊
И это не симуляция — это работающий алгоритм на настоящем железе.
Что это значит на практике? Я говорил Адаму:«Посмотри вокруг», и через мгновение он отвечал голосом: «Я вижу человека в помещении, монитор, ноутбук и телефон на столе». Это был не заранее заготовленный ответ, а результат живого-анализа обстановки перед ним. Он буквально делился своими мыслями о том, что видит.
Почему это прорыв? Потому что мы перешли от сухих технических тестов к реальному взаимодействию. Робот теперь не бездушный детектор объектов, а сущность, которая способна воспринимать мир и коммуницировать на нашем языке — голосом.
Впереди бескрайнее поле для экспериментов с поведением и сценариями использования. Спасибо, что вы с нами на этом пути! Это невероятно вдохновляет.
#робототехника#ии#искуственныйинтеллект#yolo#raspberrypi#компьютерноезрение#адам#ева#YandexGPT#SpeechKit#голосовойИИ
🛰️✈️Импортозамещение на высоте: в России создают аналог Flightradar24
🇷🇺 Новый сервис «Авиарадар» — это отечественный ответ на Flightradar24.
С конца 2023 года система работает в бета-режиме, уже охватывая большую часть европейской части страны.
📆 В ближайшее время планируется полноценный коммерческий запуск.
📡 Основа — сеть приёмников, собирающих ADS-B сигналы с гражданских самолётов и передающих их на сервер.
💻 Приёмники можно собрать даже на Raspberry Pi или Orange Pi, а в будущем планируется установка оборудования на микроспутники для слежения за рейсами над океанами и труднодоступными регионами🌍
👨💻 Проект требует знаний в IT и электронике, а также немалых серверных мощностей.
💼 Основная цель — b2b-сегмент: авиакомпании, логистика, государственные структуры.
👥 Волонтёры, устанавливающие оборудование, получают расширенную аналитику и доступ к онлайн-карте.
💬 Разработчики ищут инвестора для масштабирования. Среди потенциальных партнёров — 2ГИС.
При поддержке «Авиарадар» может стать национальной платформой авианаблюдения, особенно важной в условиях текущей геополитики.
#Авиарадар#Flightradar24#импортозамещение#авиация#технологии#RaspberryPi#логистика#гражданскаяавиация#авиатрекер#ИТ#наблюдение#Россия#инновации#b2b#авиапром#слежение