Что делать если нужно поставить какую-то 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
ДТП на улице Лисковской, 6:
Водитель автомобиля #Subaru не справился с управлением и автомобиль начало заносить. Вначале въехал во встречное авто, а затем - в припаркованные.
Фото: Vasiliy Gapienko
Subaru обновила Outback. Кузов стал больше внедорожником, чем универсалом. В салоне - новая мультимедиа система, среди опций появилась вентиляция сидений. В базе в салоне искусственная кожа, но опционально доступна Наппа.
Рестайлинг не коснулся техники - под капотом тот же 2,4 л турбированный двигатель на 260 лс, полный привод и вариатор.
Subaru говорит о том, что Outback стал "более премиальным", но кажется этого нет и рядом.
Нравится - 👍
Не очень - 👎
#subaru
Subaru WRX STI - объект обожания всех уличных гонщиков тоже вот-вот вернется в производство. На сайте Subaru написано - «Скоро в продаже». На токийском салоне компания показала очередной прототип WRX STI Sport Prototype, он выглядит унылым и готовым к производству.
2,4 л бензиновый мотор, пока с неизвестной отдачей. На обычном WRX он выдает 271 лс, на STI по идее должно быть больше. Механическая коробка и полный привод. Хорошо, что он возвращается, но плохо, что он выглядит также скучно как и раньше.
Нравится - 👍
Не нравится - 👎
#subaru
Ураганную Subaru WRX STI не делают с 2021. Последняя генерация в стоке имела 2,5 л мотор на 310 лс и 393 Нм. Её тюнинговали изо всех сил и встречались экземпляры с 700 или даже 1000 лс.
WRX STI была легендой и разрывала чемпионаты. В 2021-м японцы решили, что наступило время экологии и электричества и остановили производство.
Но передумали. В Токио Subaru показала сразу два STI-концепта. Один все-таки электрический, другой с 2,5 л бензиновым мотором, значит легенда вернется.
#subaru
Subaru unveils Project Midnight, the fastest WRX in history .
🔥 With a 2-liter racing flat-four engine boosted to 670 hp and 680 Nm of torque, this beast revs up to an impressive 9500 rpm .
🚗💨 Weighing only 1120 kg thanks to a carbon fiber body, it sheds a whopping 453 kg for lightning-fast performance .
⚡️ And of course, it's equipped with all-wheel drive for that perfect grip! Don't miss the live debut at the Goodwood Festival of Speed 🏁
#Subaru#ProjectMidnight#WRX#GoodwoodFoS#Auto🏎💥
SUBARU диктует международные стандарты БПЛА
Aвтоконцерн SUBARU добился признания собственных решений для предотвращения столкновения дронов в качестве стандарта Международной организации по стандартизации ISO21384-3 (Беспилотные летающие системы: управление и процедуры).
Стандарты ISO - это универсальные требования, на которые в том числе должны ориентироваться мировые производители в быстрорастущей отрасли беспилотных летательных аппаратов (БПЛА).
Объем мирового рынка БПЛА оценивается в 22 млрд долл., а к 2029 году он должен вырасти до 41 млрд долл. На Японию приходится около 3 млрд долл. с перспективой роста до 5,5 млрд долл. к 2028 году.
Как любой другой быстрорастущий новый рынок, индустрия БПЛА ощущает острый недостаток международных правил и регулирования.
Правительство и бизнес Японии прикладывают значительные усилия для развития рынка БПЛА. Помимо военных заказов, рынок БПЛА Японии растет за счет активного использования беспилотных систем в коммерческом секторе, сельском хозяйстве, пожаротушении и помощи при стихийных бедствиях.
Основными производителями дронов являются компании Yamaha Motor, NTT e-drone Technology, PRODRONE, Mazex.
Международное признание стандарта SUBARU, обеспечит этой компании определенные преимущества на мировом рынке на ближайшую перспективу.
Концерн SUBARU начинал свою деятельность в 1920-е годы в качестве поставщика авиатехники и комплектующих, и по сей день производит вертолеты, и является важным звеном в производственной цепочке самолетов Boeing.
Признанное в качестве международного стандарта ноу-хау SUBARU, заключается в разработке особого алгоритма избегания препятствий, который на данном этапе распространяется на БПЛА-доставщики грузов, однако в будущем может быть тиражирован и на другие беспилотные летающие системы.
Положительное решение в пользу японского подхода было обусловлено простотой системы, которая снижает риски ошибок при практическом применении.
#Япония#БПЛА#ISO#стандарты#SUBARU