Что делать если нужно поставить какую-то 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
Это чистая роскошь и абсолютная ЛЮБОВЬ!❤️
Новые матовые помады PUPA Milano Моя любовь/My crush - ну до чего хороши!😍
С абсолютно удивительной, суперсовременной формулой: яркие пигменты, смягчающие масла и такие нежные губы, как шелк!
Никакой сухости, никаких трещинок, никакого дискомфорта! Только нежность, мягкость и очарование
И оцените красоту футляра - квинтэссенция женственности и изящества.
Какой оттенок из видео вам понравился больше всего?
В видео я перекрасила губы 8 раз, и даже после этого они в отличном состоянии, как будто лучше, чем были до🙀
А найти такую красоту можно на OZON и на WILDBERRIES
Попробуйте - они роскошны!
#pupamilano
*реклама
Любовь с первого взгляда или с первого прикосновения
невероятная новинка от @pupamilanorussia , матовая помада PUPA Milano МОЯ ЛЮБОВЬ/MY CRUSH
честно первый раз встречаю настолько мягкую и бархатистую текстуру , финиш матовый но при этом она вообще не ощущается на губах , не подчеркивает шелушения , я в шоке !
+ очень необычный и женственный дизайн , в форме кушона (упаковка мягкая , силиконовая)
восемь просто потрясающих оттенков и насыщенный цвет с первого нанесения
Купить можно на OZON и WB
мои фавориты 011,012 , а какой оттенок вам приглянулся ?
#pupamilano
Pupa Milano, ну что за роскошь такая - вы только посмотрите на эту новую лимитированную коллекцию Penny Black🖤
Для меня как для фаната палеток и хайлайтеров это просто в самое сердечко. А эта упаковка! В коллекции палка теней, хайлайтерв и 2 оттенка помад (на фото у меня одна - вторую покажу чуть позже уже в свотчах - она более розовая). Честно скажу - эти шикарные продукты даже жалко свотчить - хочется смотреть на них и вздыхать от восхищения.
#pupamilano
Ой девочки! Смотрите какая милота❤️
Обожаю находки, которые сразу создают настроение – и эти бархатные косметички от Pupa Milano именно такие: стильные, уютные и идеально зимние.
Внутри — бестселлеры бренда: культовая тушь Vamp!, а также карандаши и подводки, блески для губ, средства для снятия макияжа и милые аксессуары — всё, чтобы собрать идеальный макияж.
А еще сами оттенки косметичек😍
Ну сами посмотрите, как это стильно смотрится.
Такое не грех себе любимой и подругам подарить.
#PupaMilano
Девочки, отличная новинка от PUPA Milano – Wonder Me Defender.
Это тональный бальзам с SPF 50, невесомым покрытием и уходом в одном флаконе в формате компактной пудры.
Какие плюсы у средства я выявила:
1️⃣Максимальная защита от солнца без белого налета.
2️⃣Легкий, естественный финиш, а плотность нанесения можно варьировать наслоиванием.
3️⃣в составе 93% натуральных ингредиентов: каолин, масло ши и экстракт Понгамии для ухода.
4️⃣Хорошая стойкость, жирный блеск не проявляется больше 5 часов🤌🏻
Идеален для любого типа кожи и поможет быстро освежит макияж в течение дня.
Красота и забота вместе, 2в1❤️
В линейке 4 тона, мне отлично подошел 02, с более холодным подтоном.
#PUPAMilano
Обещала вам распаковку шикарной рассылки от Pupa Milano ❤️
Рассылка посвящена запуску двойных фломастеров для губ Vamp! Marker duo - это роскошное комбо - маркеры + блески для губ в супер трендовых оттенках.
Кстати неплохая идея - когда не можешь выбрать оттенок - предоставить этот самый выбор вселенной💫
#pupamilano#макияж
Вот такие конфетки выпустили любимые Pupa Milano❤️🔥
Это новые пламперы для губ. Обязательно покажу вам свотчи - цвета очень красивые и при этом они прилично увеличивают губы 💋
Важно - как и все пламперы дающие явно видимый эффект увеличения, продут воздержитесь в себе сильные активы - в данном случае это ментол❄️, чили 🌶️ и специальный актив maxi-lip. Поэтому перед тем как нанести продукт на губы протестируйте его на руке - наносим полосочку, ждём, стираем и ждём. Если реакция терпимая, то можно использоваться.
Эффект они дают невероятно красивый, но если у вас чувствительная кожа и склонность к дерматитам, то лучше выбрать другие блески от Бренда - благо ассортимент роскошных текстур и трендовых оттенков огромный.
Свотчи обязательно покажу чуть позже✨
#pupamilano#макияж
Нас вчера занесло снегом, поэтому радую себя весенней коллекцией Color Trip от Pupa Milano🤍
У меня на тесте масла и бальзамы для губ (кстати, мой вам совет - увидите в магазинах - хватайте про запас - у бренда в лимитах просто топовые средства для губ. А вот эти малышки-масла ничем не уступают знаменитым маслам от кларанс).
Румяна в стике покажу вам отдельно - это топ🔝 В самом стике продукт светлый, а проявляется он при нанесении - это нужно видеть.
Также в моем наборе хайлайтер с влажным сиянием и масло для ногтей. Все продукты покажу в действии❤️
#pupamilano#макияж
Роскошная зимняя лимитка Night Heroes от Pupa Milano.
В моем наборе:
🟣Жидкий хайлайтер с деликатным сиянием и влажным финишем. Идеален, чтобы красиво подчеркнуть ключицы или другие открытые зоны в новогоднем наряде;
🟣Компактный сухой хайлайтер с мельчайшим золотистым финишем для макияжа лица;
🟣Запеченые сияющие румяна - очень красивое сочетание бронзового и розового в запаянной текстуре - в макияже дают легкое сияние и придают правильный объем щечкам;
🟣Ухаживающее масло для губ с мельчайшими сияющими частицами. Абсолютно нелипкая, шелковистая текстура нежно обволакивает и придает губам деликатный блеск и дополнительный объем за счет сияющих частичек. Вангую - его сметут одним из первых - рекомендую запастись.
🟣2 в одном - помада-бальзам + стойкий карандаш для губ. Идеальный нюд - еще один кандидат на sold out. Прекрасный компаньон для вечернего smoky eyes с правильным подтоном, который не уходит ни в розовый, не в рыжи, ни в серый. Просто идеальный беж.
🟣Палетка сияющих оттенков теней - как всегда у пупа тени мягкие, жирненький, не пылят и отлично отдают цвет✨
Вот такая коллекция, как вам?✨
#pupamilano#макияж
Вот так выглядит тушь Vamp! lash Extender от Pupa Milano❤️
Давно хотела вам показать - откуда берутся ресницы - да меня загадка - мне кажется их у меня не так и много. Тушь создает какой-то невероятный объем и длину. Мне еще нравится красить ресницы смещая щеточку к внешнему уголку глаза. Получается очень крутой эффект. Как вам?🤗
#макияж#pupamilano