Что делать если нужно поставить какую-то 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
Убирайтесь из моего дома, жадные королевские выродки! Эта квартира не отойдет Британской короне!».
Забавная пародия на «Квартирный вопрос» от Saturday Night Live, где сегодняшний именинник Лиам Нисон принял непосредственное участие.
#ВИДЕОТЕКА
#LiamNeeson
#SNL
«Профессионал» (2024). Режиссер — Ханс Петтер Муланд.
Время идет, а традиция ежегодного просмотра свежего боевичка с Лиамом Нисоном соблюдается. Наконец-то дошли руки до его недавней работы «Отпущение грехов», которую у нас в прокате непонятно с какой стати назвали «Профессионал». В общем-то, никакой это не боевичок, а криминальная драма с гомеопатическими вкраплениями экшена и даже какой-никакой претензией на авторское кино. Ханс Петтер Мулланд еще 10 лет назад прогремел на Берлинале своей картиной «Дурацкое дело нехитрое», а затем поставил в Голливуде ее ремейк, где все тот же Нисон сыграл главную роль.
Так что это явно получше «Честного вора» и «Игры теней», к тому же Рона Перлмана на втором плане всегда приятно видеть. Но не ждите от этой истории о престарелом гангстере, который на фоне прогрессирующей энцефалопатии пытается наладить отношения с дочерью и внуками каких-либо откровений. Чем дальше, тем кино становится все более скучным и затянутым. И тем сильнее вызывает недоумение его отечественная локализация. Особенно после того, как видишь героя Нисона в майке-алкоголичке и семейных трусах в постельных сценах, а также неуклюжей цитаты из «Таксиста» в финале.
«Хищник: Убийца убийц» (2025). Режиссёры — Дэн Трахтенберг, Мичо Рутейр.
Перед выходом очередной части саги об инопланетном охотнике в качестве затравки нам решили выдать анимационный экшн-альманах из трех историй, которые в финале сходятся в одной точке. Критики поспешили забросать новый релиз хвалебными рецензиями, но, честно говоря, не разделяю такого восторга. Да, свежо, эффектно и кроваво, да, киновселенную расширили и показали то, что мы еще не видели, оставив задел на следующие части, но шедевром это назвать нельзя даже с натяжкой. Хотя, может быть, я чего-то и не понимаю.
Отдельное спасибо создателям за Майкла Бьена, который озвучил американского летчика времен Второй Мировой войны. Слышать его было очень приятно.
«Уик — это боль» (2025). Режиссер — Джеффри Доу.
Не выдающийся, но вполне себе честный и искренний документальный фильм о том, как создавалась главная экшн-франшиза последнего десятилетия. Меня сложно назвать прям большим фанатом «Джона Уика», но эти картины делали люди, влюбленные в свое дело и в жанр боевика. И все эти ребята в каждую часть саги о киллере по кличке Баба-Яга вкладывали все, что у них есть, включая здоровье. Особняком, конечно, среди них стоит Киану Ривз, которого после этой документалки не зауважать еще сильнее просто невозможно. Вот уж кто и Актёр, и Каскадер, и Профессионал, и Человек.
#ВИДЕОТЕКА
#ВИДЕОТЕКАДайджест
#LiamNeeson
#ЛиамНисон
#Absolution
#PredatorKillerOfKillers
#WickIsPain
#KeanuReeves
#КиануРивз
«Меня всегда привлекал тип героя тех фильмов, что я видел в подростковом возрасте в Ирландии. Первым приходит в голову Роберт Митчум. Позже это были Стив Маккуин в определённой степени, а также Чарльз Бронсон. Это такие персонажи, которые одной ногой были на стороне закона и порядка, а другой — на стороне плохих парней».
Сегодня Лиаму Нисону исполнилось 73 года.
#ВИДЕОТЕКА
#LiamNeeson
#MiamiVice
#SchindlersList
#RobRoy
#StarWarsEpisodeIThePhantomMenace
#LoveActually
#Taken
#TheGrey
#Unknown
#TheIceRoad
#Absolution
«Ледяной драйв 2: Возмездие» (2025). Режиссер — Джонатан Хенсли.
Лиам Нисон впервые со времен «Заложницы» снялся в продолжении своего же фильма. Конечно, лет 30 назад наши пираты запросто могли бы все его боевички объединить в несуществующую франшизу, как это уже было со Стивеном Сигалом и его «Нико». Но на самом деле сиквелы его картины получают не так уж и часто. Первый «Ледяной драйв» оказался вполне себе симпатичным приключенческим триллером в духе классической «Платы за страх», и даже стал некой отдушиной в нашем постковидном прокате лета-2021. Так что вторую часть ожидал с интересом.
К сожалению, сиквел является еще одним типичным боевичком с Лиамом Нисоном последних лет — весьма скромным по качеству. Той самой атмосферы оригинала здесь практически нет, зато добавили побольше невыразительных перестрелок с нарисованными при помощи CGI выстрелами. Скучно, пусто, одноразово. И даже дуэт Нисона и Фань Бинбин это унылое зрелище никак не спасает. Но хотя бы обошлись без постельных сцен в семейных трусах — и на том спасибо.
«Крайне опасен» («Разыскиваемый») (2024). Режиссер — Дольф Лундгрен.
А вот эта режиссерская работа от легендарного шведа приятно удивила. Вы не ошиблись, это боевик категории Б, где Лундгрен снимается уже давно, но старательный и крепко сбитый. Как известно, последние несколько лет Дольф сражался с раком, и здесь он как нельзя кстати подошел на роль потрепанного жизнью возрастного полицейского, которому пришлось защищать свидетельницу от картеля и коррумпированных коллег. Историю компактно уложили в полтора часа без каких-то серьезных косяков, а разыграть ее помогли еще один ветеран «бэшек» Майкл Паре и Келси Грэммер собственной персоной. Вот уж кого неожиданно было увидеть в таком образе и такой роли. В общем, получилось вполне смотрибельно.
«Каратэ-пацан: Легенды» (2025). Режиссер — Джонатан Энтвистл.
Этот фильм я ждал. Идея продолжить одновременно и ремейк, и оригинал (и, соответственно, недавно завершившийся сериал «Кобра Кай») показалась мне как минимум любопытной. И посмотрел его уж точно не зря. Ну да, рассказ получился, может быть, слишком клиповым и скомканным, но как легкий молодёжный фильм о боевых искусствах с правильной мотивацией кино вполне сгодится. Героя Джеки Чана в оригинальную историю о Мияги и ЛаРуссо встроили органично, да и просто видеть его вместе с Ральфом Маччио было приятно. Продолжение я бы посмотрел, тем более, что кассовые сборы на это вроде бы рассчитывать позволяют.
#ВИДЕОТЕКА
#ВИДЕОТЕКАДайджест
#ЛедянойДрайвВозмездие
#LiamNeeson
#ЛиамНисон
#ДольфЛундгрен
#КрайнеОпасен
#DolphLundgren
#KelseyGrammer
#КелсиГрэммер
#КаратэПацанЛегенды
#JackieChan
#ДжекиЧан
#РальфМаччио