Что делать если нужно поставить какую-то 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
Ура! Последнее окошко!
✨SODA Глиттер гель для лица и тела #bizarreshine
POV: Они любили сиять💎
За что любим больше всего: глиттер для лица, для тела, для души… Идеален для новогодней вечеринки, и в общем-то любой другой?.. 🪩
Можно прикладывать к чатам с мальчиками, которые не отвечают — говорят, тоже помогает 👻
Идеальный подарок для тех, кто точно знает, что они звезды, и хотят чтобы всем остальным это тоже было очевидно 💅🏻
#sodalab
Вдохновение этого понедельника — абсолютно волшебная Грейс Элизабет на обложке Vogue Spain
💕 Воссоздаем образ русалки с помощью палетки Kawaii #mangaeyes и любимых голографических блесток #bizarreshine (а еще есть вот такие классные заколки с русалочьим вайбом)🪄
#sodainspiration#sodalovespopculture
Смотрим на повторе Lavender haze — новый клип нашей любимой Блонди, Тейлор 💜
И только один вопрос не дает покоя… Как много глиттера #bizarreshine и матовой помады #matteaboutyou ушло бы на создание этих образов? 😭 Спрашиваем для подружки… 👉👈
#sodalovespopculture#sodalovestaylorswift
Помните наш разбор образа Су, персонажа Цветка из огня Тиамат? Сегодня — наша версия макияжа Никкаль, главной героини этой истории!
Центральная тема, которую мы бы хотели обыграть в образе Никкаль, это стихия огня ❤🔥 Так, наш выбор пал на палетку теней Under the sea — в ней большой выбор красных и комплиментарных оттенков!
Для создания драматичного акцента нам понадобится цветная тушь для ресниц Unicorn mascara в оттенке 103 Lady in red ⚡ и классическая жидкая подводка #guyliner в оттенке 001 Kurt 🪄
Ну и как же без сияния? 👻 Возьмем глиттер гель для лица и тела #bizarreshine, оттенок 001 Virgo✨А в уголки глаз нанесем жидкие тени для век #showyourself 001 Snow queen ❄ Завершающим штрихом образа будет ожерелье с бабочкой #sugargem🦋 — вполне в стиле Никкаль ❤
#sodalovesgames
Мы уже разобрали образ Андреа из Ярости титанов, а сегодня — наша версия макияжа Хизер, богини красоты и любви ❤
Нам понадобится палетка теней сразу с несколькими сочными розовыми оттенками — Galaxy cake 001 Pink cake 🧁 Они подчеркнут зеленые глаза Хизер и будут красиво перекликаться с розовыми волосами героини. Для лица возьмем нежные румяна в стике #dabitonyourface, а для губ — бальзам-кристалл #mermaidlips в оттенке 004 Cherry love 🍒
Самое романтичное сочетание? 🤔 Розовый и блестки!💘 Как, например, комбо жидкой подводки для глаз с блёстками 103 Keith и глиттер геля для лица и тела #bizarreshine 002 Leo. То, что нужно для волшебного сияния ✨
А если чувствуешь, будто не хватает какого-то милого акцента, то поставь печатку маркером для глаз в форме сердца #makeitpop❤
#sodalovesgames
Романтики, кто играл в "По тонкому льду"? Сегодня воссоздаем макияж Кэтрин ⛸ Наша героиня — фигуристка, а значит ее макияж для выступлений будет заметным. Сияющий смоки и никаких нюдов! 🍒
Начнем с драматичного макияжа глаз 😼 Глубокие синие и фиолетовые оттенки возьмем из палетки теней Some things never change #showyourself (как и шиммеры тех же оттенков), а глаза подведем карандашом #eyeloveunicorns в оттенке 001 Black heart ❤
Добавим звездного сияния с помощью глиттер-геля для лица и тела #bizarreshine, в оттенке 002 Leo 🪄 Его можно нанести не только в уголки глаз, но и на ключицы ✨
На картинке у Кэтрин явно сделан контуринг. Его нам поможет создать палетка для лица Coffee magic 001 #coffeetime☕ А завершим образ ярким, но неброским блеском для губ #wegotyoubabe в оттенке 006 Nudie Cutie 🌸
#sodalovesgames
RED♥️
Магнум опус Тейлор и самый осенний альбом 🍁 Поэтому выбираем палетку нюдовых, коричневых оттенков (Game over 002 Dream team) для нежной базы, а драму устроим с помощью черного макера для глаз #makeitpop и традиционной красной помады Тей Тей (мы возьмем #checkmatte 006 Maple syrup — напоминает тот самый 🧣 из All too well). Печатка в форме сердечка 🖤 немного Electra Heart Марины, но по вайбу подходит идеально ⚡
1989📸
📸 Нью-Йорк, Гарри Стайлз, girl squad... Это эра свободы в большом городе, приключений, жизни на полную катушку! Нужна яркая палетка в цветах эры (голубой/синий) — например, Sugoi #mangaeyes, обязательно глиттер #bizarreshine и космическое сияние хайлайтера в стике. Без красных губ никуда, но в этой эре возьмем более легкую текстуру — тинт на водной основе #cheekylips🍓 И мятный лак для более нежных образов 🍭
#sodalovespopculture#sodalovestaylorswift
Уже завтра выйдет новый альбом Тейлор Свифт Midnights 🕛⚡️
В ожидании и нетерпении, мы сделали подборку из фотосессий для Vogue, Harper’s Bazaar и официального промо в ретро эстетике нового альбома 🖤
Хочешь повторить эти образы? Сохраняй последнее фото — на нём всё, что тебе понадобится:
⭐️ Палетка Some things never change #showyourself — темно-синие и темно-зеленые, бежево-коричневые, сияющие цвета… ух! Сделают любой образ с фото гораздо глубже и интереснее!
⭐️ Тени для век Unicorn squad #unicornluv — для насыщенного, драматичного глэма 👄
⭐️ Карандаш для глаз #eyeloveunicorns — идеален для растушёвки и “смоки” эффекта
⭐️ Подводка-маркер для глаз #makeitpop — создаем крутые стрелки 😻
⭐️ Накладные ресницы с эффектом кукольного взгляда #dollyeyes — совсем как у Тейлор
⭐️ Глиттер гель #bizarreshine и жидкие тени #showyourself — ведь в Midnights эру мы все хотим сиять как Mirrorball 🪩
#sodalovespopculture#sodalovestaylorswift
В четверг свифти вышли из своей клоунской эры (по возможности) — и вошли в 1989 (Taylor's Version) эру 💅
Что же нам в ней понадобится? Пройдемся по базе:
📸 Синий, голубой — цвета эры, поэтому палетка Sugoi #mangaeyes — самое то!
📸 Red lip classic, которая так нравится Гарри Стайлзу 💋 Помада #checkmatte в оттенке 010 Death after noon
📸 Голубой глиттер гель #bizarreshine🌈
📸 Хайлайтер в стике #mermaidsforever для сияния как у поп-звезды ⭐
📸 Карандаш для глаз #eyeloveunicorns, чтобы нарисовать cat eye sharp enough to kill a man 🔪
📸 Бомбочка для ванны Coconut gem, потому что когда несешь на себе музыкальную индустрию, то надо и отдыхать
📸 Сияющий парфюм-кошка Vanilla Neko 🐾
📸 Лак для ногтей #starryglow 001 Moon 🪄
Делаем браслеты дружбы, макияжи в стиле эры и ждем 1989 TV 🥰
#sodalovestaylorswift#sodalovespopculture
It’s a cruel summer… with you🩷
Мы уже подобрали продукты к первым пяти эрам Тейлор здесь и здесь, а сегодня разберем оставшиеся пять! Итак, эры Тейлор (SODA's Version) 🌸
Reputation 🐍
Are you ready for it? Дерзкая, мне-все-равно-что-вы-обо-мне-думаете эра! Продукты эры: сатиновая помада в стике #talkofthetown в темном оттенке 005 Sweet cherry 🍒, жидкие тени #eyeloveyou в смелом оттенке getaway car 002 Fairy glow и много-много сияния с глиттером #bizarreshine и лаком для ногтей #starryglow 006 Aurora ⭐ А завершить образ можно черными сережками-молниями #sugargem⚡
Lover 💕
Самая милая, счастливая и влюбленная эра Тей — и все мы мечтаем однажды в ней оказаться 😭 Цвета соответствуют: пастельные, яркие, сияющие ✨ Продукты эры: палетка с критическим содержанием шиммера Galaxy cake 002 Blue cake, розовый глиттер #bizarreshine, розовый штампик-сердечко #makeitpop и те самые духи-кошка с их сладким ароматом и блестками 🐾 Аксессуары тоже кричат о любви — серьги heart in fire pink и набор колец pink 💘
#sodalovespopculture#sodalovestaylorswift