Что делать если нужно поставить какую-то 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
Дорогие наши #pupalovers!
Пусть Новый год будет таким же ярким, как тени Vamp! Extreme, таким же стойким, как наша тушь Vamp! Mascara Lash Extender, и таким же ослепительным, как хайлайтер Wonder Me Glow 🌟
Желаем, чтобы каждый день 2026 года был наполнен магией, смелыми экспериментами и бесконечным сиянием.
Загадывайте самые смелые желания — и пусть они сбываются с помощью волшебной кисти!
С любовью, ваша PUPA MILANO ❤️ С Наступающим!
В Москве состоялось вручение наград премииЯПокупаю Beauty 2025.
Наградыполучили лучшие косметические средства, которые выбрали читатели, эксперты и редакция.
В категории Лучшее Тональное средство по версии читателей победу одержал Крем-флюид Wonder Me Nude PUPA Milano.
О ПОБЕДИТЕЛЕ 🏆
Тон-флюид Wonder Me Nude обладает легкой и невесомой текстурой, создавая эффект второй кожи, невидимый и неощутимый. Поры и несовершенства мгновенно уменьшаются, рельеф кожи становится более выровненным и гладким.
Мы благодарны всем #pupalovers за доверие, выбор и голоса! ❤️❤️❤️
НАША С ВАМИ ПОБЕДА 🏆
Завершилась премияЯПокупаю Beauty 2025: косметика, которую выбрали читатели, эксперты и редакция.
В категории Лучшее Тональное средство по версии читателей победу одержал Крем-флюид Wonder Me Nude PUPA Milano.
Мы благодарны всем #pupalovers за доверие, выбор и голоса! ❤️❤️❤️
Еще одна гостья девичника в рамках премии VOICE INFLUENCER AWARDS💔
Выбор Анны Седаковой — пудра Wonder Me и карандаши для губ True Lips от PUPA MILANO. Спасибо за доверие!
А выбор алого платья разбил сердца всех #pupalovers❤️🔥
Дорогие #pupalovers!
С Международным женским днем! В этот прекрасный весенний день мы от всего сердца поздравляем всех вас с праздником!
Мы в Pupa верим, что каждая женщина — это произведение искусства, и наша задача — помочь вам раскрыть вашу красоту и сияние!
Наша декоративная косметика создана с любовью и вниманием, чтобы подчеркнуть вашу утонченность и добавить ярких красок в каждый день. Будь то нежный нюд на работу или яркий вечерний образ — мы всегда рядом, чтобы поддержать вас в любом настроении и стремлении.
С любовью,
Команда Pupa Milano ❤️
Бьюти-завтрак в честь туши VAMP! LASH EXTENDER, которая собрала всех друзей бренда, истинных #pupalovers в ресторане Savva.
Давайте еще раз посмотрим, как это было.
Ставьте 💝💘💖💗💓💞💕, если вам понравилось!
БЬЮТИ-ЗАВТРАК PUPA MILANO 💖
На этой неделе в ресторане Savva состоялся бьюти-завтрак в кругу друзей бренда PUPA MILANO. Мы благодарим всех #pupalovers, которые были с нами в этот день!
Дресс-код мероприятия Touch of Fuchsia в честь нашей культовой туши VAMP! LASH EXTENDER, которая дарит3D удлинение и объем ресниц.
А вы знакомы с Vamp! Lash Extender?
Бархатный и роскошный… это итальянский Новый год с @pupamilanorussia!❤️
Посмотрите, какие великолепные подарочные наборы в вельветовых косметичках вышли у PUPA MILANO😍
И их так много разных! Можно выбрать идеальную комбинацию для себя или в подарок: любимый цвет, удобную модель сумочки, и главное - самые милые сердцу средства от PUPA MILANO!
Найти такие наборы можно в РИВ ГОШ:
❤️бордовая косметичка с тушью VAMP! LASH EXTENDER и подводкой лайнером VAMP! SKINNY LINER;
🩵небесно-голубая – с тушью VAMP! ALL IN ONE и MULTIPLAY карандашом для тройного использования: подводка – кайал – тени для век.
Наслаждайтесь шикарным и стильным итальянским Новым годом вместе с @pupamilanorussia
#pupamilanorussia#pupalovers
*реклама
Все ведь знают, что если не забывать защищать кожу от солнца даже в условиях города, то можно замедлить старение и улучшить качество кожи?
У Pupa вышла широкая солнцезащитная линейка с комфортными средствами для защиты от UVA и UVB лучей.
Мой фаворит — флюид Daily Defender с оттенком и без, о котором я подробнее рассказала в видео. Он заменяет мне базу под макияж или легкий тон на каждый день, и при этом дает необходимую защиту SPF 50.
А также самый удобный формат стика SPF 50, который легко закинуть даже в самую маленькую сумочку и обновлять защиту в течение дня.
Познакомиться с солнцезащитной линейкой @pupamilanorussia можно в РИВ ГОШ по ссылке☀️
#pupamilanorussia#pupalovers
Отпуск прошел, но про спф я еще не рассказывала, а обычно я именно в отпуске тестирую всякие новиночки ☀️
Так вот, в этот раз я взяла с собой почти всю линейку SPF от итальянского бренда @pupamilanorussia и, спойлер: не обгорела, довольно неплохо подзагорела (прям хорошо я не загораю никогда, я белокожая, но вот обгораю в 9 из 10 случаев, правда не в этот раз)
Что имею сказать:
Первое и самое главное — мне очень понравилось!!! От упаковки до запаха (он отвал всего), очень хорошая защита, намазаны были все: я, Пирог, Эля и все обошлись без ожогов 🤌🏻
Для лица я использовала крем Daily Defender и стиком обновляла в течение дня! Очень легкие текстуры, очень хорошо ложатся (крем супер даже под легкий макияж!), так что я планирую их же домазывать в городе этим летом ❤️
Для тела мы попробовали все — молочко с SPF 50, спрей SPF 50 (восторг!!!!!), крем SPF 30 и двухфазный спрей SPF 30 🦦
Без преувеличений, мы мазались прям всем и не было ни одного продукта, который бы не понравился. Но отдельно я конечно отмечу спрей, потому что использовать его максимально легко, защищает отлично, хватает надолго и он особенно полюбился ребенку, который ненавидит на себе ощущения кремов и не любит чем-то мазаться))
Но лично я спреем обычно обновлялась, а начинала день с чего-то более кремового, крема или молочка
На пляже классно использовать спрей — усилитель загара, это средство с технологией Melastim Tech для стимулирования выработки меланина, он не содержит SPF, но дополнительно удаляет морскую соль и предотвращает сухость, а после моря — молочко после солнца, которое также усиливает загар, но еще успокаивает и увлажняет кожу
Мне кажется на видео довольно наглядно видно, как от начала к концу я становилась все более шоколадная)))) и это всего лишь первые дня 4 🙃
В общем, я точно буду повторять эту линейку этим летом, и с огромным удовольствием советую попробовать вам, представлена она в РИВ ГОШ ❤️
Целую ваши плечи и надеюсь, этим летом они будут под надежной SPF защитой 💅
#pupamilanorussia#pupalovers