Что делать если нужно поставить какую-то 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
Мыльные пузыри, парящие в невесомости или...
самые завораживающие светильники? 💡
Хэй гайз! ✌️
Делюсь с вами дизайн находками из Милана! Знаю, #milandesignweek был еще в апреле, ноооо итс нэвер ту лэйт, когда речь идёт о красивом освещении 😏
Эти светильники из коллекции FOCUS созданы дизайнером Юджи Окитсу для DCW éditions.
Лёгкие линзы из оргстекла подвешены к потолку. Они мягко качаются и вращаются вокруг своей оси, постоянно меняя восприятие пространства.
Удивительная игра со светом! Эти прозрачные и чуть выпуклые диски захватывают и рассеивают его. В то же время обрамляя окружающий пейзаж, создавая несколько плавающих миров, встроенных в круги света.
#Милан#выставка#SaloneDelMobile#Euroluce#светодизайн
P.s. Переходите в инст! У меня есть ещё парочка классных рилсов с топ дизайном 😉
Хэй гайз!
Перемещаемся на главный ивент недели дизайна — Salone del Mobile! Представьте: 200 000+ квадратных метров мебели, света и инноваций, 2300+ брендов и толпы дизайнеров со всего мира 🫶
Чтобы обойти все павильоны, потребуется не одна неделя! Лайфхак: никаких туфель — только шпильки кроссы 👟
Это уже мой четвёртый раз здесь... слегка переживала, что не увижу ничего нового. Но! Дико ошибалась)) Нашла много новых брендов, а топовые компании порадовали свежими коллекциями 😀
Каждые два года здесь проходит биеннале света Euroluce — с него и начнём! Не пропустите следующие посты!!! 🌶️🌶️🌶️
#Милан#неделяДизайна#MilanDesignWeek#SaloneDelMobile#Euroluce#свет
Хэй гайз!
Продолжаю делиться впечатлениями с Euroluce — и вот мой абсолютный фаворит этого года...
Aqua Creations! 🤍
Впервые увидела их работы — будто попала в страну чудес! 🐈⬛ Летающие тарелки, светящиеся луковицы, пушистые грибочки (или медузы?), кресла-мозги... Дизайн, вдохновлённый природой - это настоящая магия игры света и формы🍄
Основал бренд израильский фотограф Альби Серати вместе с женой-скульптором еще в 1992ом году. Альби с детства заворожён игрой света — сначала в фотографии, потом в дизайне 😍Его работы — не просто функциональные вещи, а эмоций!
■ Как думаете: какие чувства должен пробуждать хороший дизайн?
#Милан#Свет#MilanDesignWeek#MDW2025#Euroluce#SaloneDelMobile#aquaCreations
Хэй гайз!
Возвращаемся в Милан на неделю дизайна... о да! Контентом оттуда я буду делиться ещё долго. Этого вдохновения хватит на целый год))
Уже рассказала вам про два топовых бренда освещения — Ingo Maurer и Aqua Creations. Сегодня делюсь ещё одним фаворитом с выставки Euroluce – мексиканским David Pompa.
■ В основе их философии — глубокая связь с природой, традиционными ремёслами и принципами устойчивого развития🌎
Каждый светильник начинается с материала. Чёрная глина, вулканический камень, плетёная пальма, переработанное стекло... всё добывается и обрабатывается с уважением к природе и местным сообществам ❤️ Можно на пару часов залипнуть на сайте, изучая историю каждого материала - советую заглянуть хотя бы ради завораживающих фотографий с ремесленниками 📸
Бренд сознательно избегает машинной безупречности — здесь ценят следы человеческих рук, естественные неровности и живые текстуры🖐 Тем не менее за кажущейся простотой скрываются инновационные технологии - смотрите первое видео!
■ Идеальный баланс между мексиканскими традициями и современным дизайном 🌜 Как вам такой подход?)
#Милан#milanDesignWeek#mdw2025#DavidPompa#Euroluce#свет#устойчивоеразвитие
Euroluce 2025! Погнали!!!
Перед посещением друзья дали мне забавное задание — найти на выставке серфингистов📷 Задача оказалась не из простых! Вместо ожидаемых длинноволосых голубоглазых блондинов мне попадались исключительно темноволосые итальянцы 🤭
И вот, прохожу очередной корнер со светом — стенд мюнхенского Ingo Maurer. Вижу толпу, которая что-то внимательно разглядывает и не спешит расходиться 🙂 Подхожу ближе... и вот они!!!
Внутри светящейся стеклянной трубы, на прозрачных волнах — крошечные серфингисты! 🗿 Прикол!
Ingo Maurer — одни из самых оригинальных в мире света! Ребята делают не просто светильники, а соединяют искусство, handcraft, юмор и креатив!
Мои фавориты — на фото. Особенно люблю люстру с листочками, на которых можно оставить секретное послание 🛩️
■ Какой из этих светильников поселился бы у вас дома?
#Милан#неделяДизайна#milanDesignWeek#saloneDelMobile#Euroluce#IngoMaurer#MDW2025
Хэй гайз!
Эти бренды освещения — must-know для всех ценителей дизайна!🔴
● VIBIA
Знамениты своими модульными светильниками Plusminus. В этом году представили ещё одну серию "конструктора"...
Но мой фаворит — новенький Oko (1)! Его эксклюзивно показали на Euroluce, а в продажу он поступит только в следующем году... ждём 🗒 :) На фото свет кажется чуть резковатым, но в жизни даёт удивительно мягкое цветное свечение — идеально для вечернего акцентного освещения! 🌕
И конечно, обратите внимание на серию с ниточками Array (2). 🪡❤️ Уже несколько лет не перестаю ей любоваться. Руки тянутся провести пальчиками по нитям, словно по арфе... а сотрудники трогать не разрешают))
● ARTEMIDE
Короли коллабораций! Работают со всеми топовыми архитекторами — от Herzog & de Meuron до Бьярке Ингельса. Их проекты – мост между архитектурой и светодизайном💯
В этом году было множество новинок! Мне больше всего понравились: Alambicco (3), демонстрирующий искусство выдувного стекла, и Boltons (4) — футуристичная зеркальная тарелка в сочетании со стеклянным основанием и дутым шариком внутри создают интересные оптические иллюзии. Кстати, у следующего бренда есть нечто похожее...
● DAVIDE GROPPI
Их стиль — лаконичность в чистом виде. Визитная карточка — светильники с отражённым светом.
Настоящая магия – стеклянные трубы... модель так и называется Magia! Как они устроены — смотрите в конце видео (10).
😍 Ну а я похоже фанат летающих тарелок и полупрозрачных настольных светильников! В полном восторге от Vis-à-vis (9).
■ Какая версия вам нравится больше — у Artemide (4) или Davide Groppi (9)?
■ Успела посетить павильоны всех световых гигантов на Euroluce... кроме одного! Угадаете, какого?)) Подсказка: первая буква F!
#Милан#MilanDesignWeek#MDW2025#Euroluce#Свет#Vibia#Artemide#DavideGroppi