Что делать если нужно поставить какую-то 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
Эстетика сине-белой вазы.
Слева: казахский дизайнер Aya Bapani
Справа: Бренд из Катара TIIYA SS 2021👏👏
"Фарфоровые куклы" рассказывают историю о Великом Шёлковом Пути и о том, как бело-синяя керамика соединяет культуры.
Бренд создал фотосессию, в которой соединил разные виды искусства.
#comparativefashion
Мода и переосмысление своего прошлого.
Армения ↔️ Карелия и космическая связь идей и людей.
Стилизованные папахи и аутентичное кружево (фото 1 - 3) получили неожиданную интерпретацию в новой коллекции весна-2024 бренда Mariko: источником вдохновения для Мари Айрапетян стала культура и природа ее родного села Хнацах в Армении.
А для участника нашего проекта Виктории Устиновой таким вдохновением стала её родина - Карелия (фото 4 - 6)
В 2014 году на фестивале IBEFF ETNOMODA была представлена её коллекция с одноименным названием.
Карельские легенды и пудожские вышивки дали творческий импульс Виктории для создания шляп, удивительным образом напоминающим "папахи" Мари Айрапетян.
📷 образы из коллекции "Карелия" (2014, Etnomoda); весна-2024 Mariko
#comparativefashion#ассоциации
Гуси-лебеди и народный фольклор 🦆🪿🦢 в моде:
Образы водоплавающих птиц - уток, гусей и лебедей - играют в фольклорной традиции исключительную роль. Однако, их можно встретить и на подиуме высокой моды.
В коллекции Burberry 2023 года появился принт с утками и головной убор в виде селезня.
Дэниэл Ли вдохновлялся британскими парками, в которых часто можно встретить этих очаровательных птиц.
Иная интерпретация образа была представлена Татьяной Коваленко на нашем фестивале IBEFF ETNOMODA в 2013 году.
Дизайнер стремилась углубиться в функциональные качества народного костюма и создать не только выразительную, но и функциональную форму. Об уточке напоминает овальный силуэт моделей, а также принт в виде стилизованных уточек.
📷 образы из коллекций "Уточка" (2013, Etnomoda);
Burberry (осень-зима 2023)
#ассоциации#comparativefashion
Образ от KENZO (слева) и аллюзия к творчеству Kenzo Takada (справа) из коллекции конкурсанта IBEFF ETNOMODA, Дарьи Безруковой.
*Фото Игоря Евдокимова на показе @etnomoda 2014
#comparativefashion#ассоциации
"Бедуины" на подиуме.
Восточный колорит, эхо "Дюны" и в то же время ультра современные тренды.
Rick Owens #SS2024#PFW
📹 Lorre Rodkin
Для разнообразия добавили в подборку образ участника нашего показа 2018 года из коллекции
"Космос.Черная дыра".
Театр моды "мАрт"
#ассоциации#comparativefashion
Наша рубрика #Ассоциации
Участница нашего конкурса #ibeff_online2023 Евгения Семерок с кампейном коллекции "Узор"
и #показ Fendi Fall/Winter 2019/2020.
Что общего у аутентичных готических образов нашей участницы и образов из последней коллекции Карла Лагерфельда для Fendi?
На наш взгляд, их объединяет общее настроение.
Чёрный цвет - всегда беспроигрышный вариант! Особенно, если он в тандеме с роскошным кружевом или орнаментом!
#Этномода#comparativefashion
✨ Дорогие подписчики, в нашем канале регулярно выходят материалы из различных рубрик, ориентироваться в которых вам помогут хештеги.
Вот некоторые из них:
🔹#nationaltrend -
мотивы национальных культур в современных модных коллекциях
🔹#catwalk -
Фото с подиумов - следите за модными показами и узнавайте об интересных коллекциях с этно мотивами.
🔹#fashionweek -
оставайтесь в курсе самых громких модных событий с мировых Недель Моды.
🔹#comparativefashion + #ассоциации – схожести, различия и аллюзии.
Что объединяет образы дизайнеров с разных уголков света?
🔹#discoveringtalents - открывайте новые имена в мире моды и следите за молодыми талантами, которые обращаются к фольклору за вдохновением.
🔹#этнофьюжн - сочетание в одной коллекции отголосков нескольких национальных культур