Что делать если нужно поставить какую-то 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
Хэй гайз!
Большинство из вас проголосовало за обзор шоурумаCassina в Милане. Это один из самых значимых итальянских дизайн брендов.
Уже более 90 лет Кассина занимается мебельным ремеслом. Начинали они с производства столярки и кофейных столиков ☕ А в 1950-х годах сделали значимый переход от ремесленного производства к массовому и запустили промышленный дизайн в Италии 💪
Компания работает с такими A-list дизайнерами, как Филлип Старк, Пьеро Лиссони, Патриция Уркиола 🥇 А так же известна тем, что производит иконы великих мастеров модерна.
Кассина сочетает в себе технологии и многолетнее мастерство ремесленников. Кстати, именно они первые экспортировали италиан фёрничер в сша. С тех пор отметка #madeInItaly ассоциируется с качественным, модным и КРАСИВЫМ дизайном.
Креативность. Подлинность. История. Страсть. Честность. Отвага. Инновация. Это главные ценности компании. Советую посмотреть мини видео про них. Там картинки всех культовых дизайнов и веселая музыка))
#милан#дизайн#шоурум#milandesignweek
😎 LASH BOSS 😎 ЗДЕСЬ?
Стойте-ка, сейчас появится та самая, которая перевернет мир...
Ах, вот и она! Тушь VAMP! LASH EXTENDER!
🔥 Непревзойденный объем
🔥 Бесконечно длинные ресницы
🔥 Насыщенный черный
Как сильно вы хотите ее попробовать от 1 до 10? А кто уже?
#pupamilano#madeinitaly#vamplashextender#vampmascara
Пришло время обновить ваши ресницы
➡️
➡️
➡️VAMP! LASH EXTENDER
Тушь, которая формирует и приподнимает ваши ресницы в измерении 3D!
Отметьте вашу лучшую подругу, которой она тоже очень нужна!
#pupamilano#madeinitaly#vamplashextender#vampmascara
РУКОВОДСТВО ПО УХОДУ ЗА КОЖЕЙ ➡️ ANTI AGE
Следуйте нашим советам для достижения наилучшего результата!
ЦЕЛЬ: работа над разглаживанием морщин, тонусом и эластичностью кожи 💪
Нанесите на очищенную кожу серум ELASTIN SHOTS и крем TIMELESS PLUS, чтобы противодействовать признакам старения каждый день 😉
⚠️ Используйте уход NO AGE на коже вокруг глаз, нежно массируя для полного впитывания ⚠️
Отметьте вашу лучшую подругу, которая обязательно должна попробовать эти супер новинки!
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
УДЕЛИТЕ ВРЕМЯ, ЧТОБЫ СДЕЛАТЬ КОЖУ СЧАСТЛИВОЙ
💆🏻💆🏻💆🏻
Давайте вместе сделаем легкую зарядку для вашего лица!
Следуйте схеме, чтобы улучшить контуры лица и зарядиться хорошим настроением с утра 😉
🎵 С фоновой музыкой это будет намного веселее! Включите звук на этом видео и повторяйте последовательность действий 🎵
👉 Сохраните этот пост, чтобы тренироваться в любое время 💪
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
РУКОВОДСТВО ПО УХОДУ ЗА КОЖЕЙ 🧾
➡️УВЛАЖНЕНИЕ
Следуйте нашим рекомендациям для достижения наилучшего результата!
ЦЕЛЬ: глубокое увлажнение лица 💪
⚠️ Нанесите NO STRESS на область вокруг глаз, нежно массируя кожу с легким надавливанием.
⚠️ Воспользуйтесь увлажняющим действием гиалуроновой кислоты HYALU SHOTS, нанеся 3-4 капли сыворотки.
⚠️ Нанесите крем SKIN REHAB Prebiotic Moisturizing Cream для предотвращения старения кожи.
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
РУКОВОДСТВО ПО УХОДУ ЗА КОЖЕЙ ➡️ ДВОЙНОЕ ОЧИЩЕНИЕ
О чем мы говорим?
Двойное очищение — самый эффективный способ тщательно очистить кожу и избавить поры от загрязнений и макияжа, даже стойкого.
ЧТО ВАМ ПОНАДОБИТСЯ:
⚠️MOUSSE ME SOFTLY — очищающее средство текстуры мусса.
⚠️WAND ERASER — очищающее средство текстуры масло.
Мы готовы, а вы?
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
🇺🇿🇮🇹Ташкент встречает День Итальянского Дизайна – 2025!
☝Сегодня в Ташкенте состоялось знаковое событие – День Итальянского Дизайна – 2025, объединяющий традиции, инновации и креативность двух великих культур.
Посол Италии в Узбекистане Пьер Габриэль, а также другие представители итальянского и узбекского культурного сообщества приняли участие в этом мероприятии, подчеркивая глубину и силу узбекско-итальянского сотрудничества.
✨ Дизайн как мост между традициями и будущим
Итальянский дизайн всегда был больше, чем просто эстетика – это образ жизни, в котором элегантность сочетается с функциональностью, а инновации черпаются из наследия прошлого. Именно эта философия объединяет Италию и Узбекистан, страны, которые веками обменивались культурными, ремесленными и художественными традициями.
🔹 В знак уважения к узбекской культуре и ее выдающемуся ремесленному мастерству в рамках мероприятия состоялся уникальный показ: итальянские дизайнеры представили модели, созданные из узбекских тканей ручной работы. Это яркий пример того, как наследие древних мастеров находит свое отражение в современной высокой моде.
⚡Сегодняшний день стал не только торжеством эстетики, но и важным шагом на пути к укреплению узбекско-итальянского культурного сотрудничества. Эта встреча – символ того, что искусство и дизайн способны стирает границы и объединять народы.
Grazie, Uzbekistan! 🤍💙💚 Benvenuta, Italia! ❤️🤍💚
#ИтальянскийДизайн2025#UzbekistanItalia#КреативностьБезГраниц#MadeInItaly#УзбекскиеТрадиции
@bahodir_schastlivchik
ДОБРО ПОЖАЛОВАТЬ В TEDDYLAND 🐻
Согревающие ароматы, чувственные текстуры, интригующие сочетания.
Что еще можно пожелать от ухода? Ах да, милейшие пушистые косметички в подарок! 😎
Все подруги будут в восторге от таких подарков! А вы?
#pupamilano#madeinitaly#teddyland#pupaxmas#bathandbody
НОВАЯ НЕДЕЛЯ И НОВАЯ ПОРЦИЯ НОВИНОК 🧸
Нежнее нежного, мягче мягкого, пушистее пушистого!
Средства, о которым мы с вами давно мечтали, самые сладкие новинки для тела в коллекции TEDDYLAND!
🧸 теплые приятные ароматы
🧸 чувственные текстуры
🧸 невероятные эмоции при нанесении.
Хотите попробовать наши плюшевые новинки для тела? 🐻🐻🐻
#pupamilano#madeinitaly#teddyland#pupaxmas#bathandbody
ТРОПИКИ УЖЕ ЗДЕСЬ 🔥
Декабрь мчится, елки кругом, снегом всё замело, но в душе у нас цветут экзотические цветы и щебечут тропические птицы. Как так?
Наслаждайтесь с нами побегом в волшебные страны с палеткой PUPA PARROT
🦜 Уникальная палитра оттенков для нескучного макияжа глаз 🦜
Готовы на бьюти-эксперименты с нашими пташками?
#pupamilano#madeinitaly#pupaparrot#pupaxmas#unboxinghappines