Что делать если нужно поставить какую-то 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
Добавлю немного красок в ваш день вместе с мастерской из Санкт-Петербурга, которая производит цементную плитку. Каждая спрессована вручную, слой цвета и узора составляет 3-5 мм, можно укладывать без шва. Отправляется в рубрику #madeinrussia. Бренд называется cezzle
Ну какова милота: текстиль с вышитыми рисунками ваших малышей, их братьев и сестер или посланий для них же от взрослых (видела контуры ладоней бабушек, например). Очень трогательно, уникально и на память
#madeinrussia
Смотрите, что нашла: лампы с абажурами ручной работы от мастерицы из Петербурга 🌸 уже не первый раз вижу интересные профили на авито, кажется, пора новую рубрику делать
#madeinrussia
Хочу/могу: кожаная подставка от бренда Werf Home из Санкт-Петербурга очень напомнила похожую от Hermès. Кроме подставок у ребят есть еще другие кожаные изделия — мне очень приглянулась плетеная корзина винного цвета, например. Ну и, конечно, сама по себе предметная съемка очень красивая. Нравится 💅
#madeinrussia
Поклонникам нового русского стиля: нашла на авито профиль девушки, которая изготавливает наличники для обрамления зеркал и картин. Очень симпатично, запишем в рубрику #madeinrussia
Готовлю для вас большой пост про португальскую плитку, решила поискать ещё интересных российских производителей в этой сфере, нашла вот таких ребят из Краснодара: студия Factura (factura_studio). Работают с 2005г, собственное производство и ручная работа, есть плитка нестандартных форм и изразцы. Красиво 🤍
#madeinrussia
Вот такую керамическую плитку ручной работы делают в Петербурге в небольшой студии Nomy tiles, которую основала керамистка Любовь Канника. Форматы — 100×100 и 50×50 мм, подходит она только для вертикальных поверхностей.
Очень симпатично, особенно нравится текстурная зеленая, но на сайте в продаже ее не нашла — видимо, пока только экспериментируют. По крайней мере, в производстве она кажется куда более трудоемкой.
#madeinrussia
После моего первого поста о розетках Кирилла Масягина прошло чуть меньше полугода, и за это время его проект разросся цветами и вариантами. Были даже сделаны розетки с отсылками к русскому авангарду и одна в виде Шрека. Дико рада, что такие проекты находят отклик
#madeinrussia
Как насчет прикроватной тумбы на курьих ножках?
Такую мебель с облицовкой дизайнерской плиткой делает компания REDA, основанная дизайнером Дарьей Васильковой. Основное направление — собственное производство непосредственно плитки и керамогранита, которое стартовало в 2023 году и продолжает активно расширяться. Кое-где считывается вдохновение русским стилем и традиционными ремёслами — например, нашла ещё у них даже плитку, навеянную гжельской росписью.
Вообще изначально меня привлекли цветные смесители, которые они тоже производят, в паре с раковинами от sitéga может быть идеальный мэтч. Но потом заметила тумбы и решила, что вы точно должны это видеть
#madeinrussia
Идея для тех, кто хочет добавить в интерьер чего-то особенного, с частичкой русской души: купить старый сундук, отреставрировать его и расписать в духе русских сказок.
Художница Маша Борисова и мастерская Закрома занимаются как раз подобным — превращают простые деревянные вещи в настоящие сокровища.
Люблю такие душевные проекты, когда, казалось бы, уже отжившая своё мебель вдруг получает путёвку в новую жизнь. И такую красивую. Видео, как они покрывают сундук лаком, посмотрела раз пять 😄
Контакт держите
#madeinrussia
Прибавление в списке #madeinrussia: на самом деле, я уже как-то писала про lulu’space, но в контексте их классных тумб для винила. Решила сделать про них более подробный пост.
lulu’space базируется в Москве, основан в 2017 году двумя предметными дизайнерами — Марией и Ильёй Евтюшенковыми. А сейчас это уже большая команда с полноценным столярным цехом в Подмосковье и шоурумом в центре Москвы.
Стиль своих изделий они называют умеренным минимализмом. В работе используют массив и шпон дуба, МДФ, металл и профессиональные лакокрасочные покрытия — можно выбрать практически любой цвет по палитрам RAL и NCS.
В ассортименте в основном столярные изделия: письменные столы для небольших помещений, круглые раскладные столы на одной опоре, тумбы ТВ (большие и маленькие), обувницы и, конечно же, тумбы для винила, которые я по-прежнему считаю одними из самых удачных на нашем рынке. У почти всех позиций большой выбор размеров (вы бы знали, как мне этого не хватает в Португалии — лениво ищу здесь новую классную тумбу под ТВ примерно вечность, все либо короткие, либо уродливые).
Ещё пока искала информацию о них, наткнулась на приятный факт: практически всю мебель они поставляют в собранном виде. Удобно.
📍Адрес: Большой Казённый переулок, 1/2с1
Добавлю немного дофаминовых цветов в ленту пополнением рубрики #madeinrussia и расскажу про бренд, который может быть интересен как дизайнерам, так и тем, кто любит выбирать всё самостоятельно.
Ansen — молодой бренд из Петербурга, который уже успел изготовить предметы, например, для магазинов Selfmade, Latrica и многих других. Как можно догадаться по фото, ассортимент — мебель из металла: столики, консоли, тумбы, рейлы, полки и многое другое. Если честно, не припомню, чтобы я где-то видела такое количество вариантов размеров для каждого предмета: только у одного стеллажа их целых семь.
Кроме множества размеров, здесь ещё две палитры цветов. Так называемая «Классическая» включает спокойные и нейтральные оттенки для сдержанных интерьеров, а «Дофаминовая» наполнена яркими, жизнерадостными цветами для смелых акцентных решений. Если подходящего цвета всё-таки не нашлось, могут покрасить в любой нужный вам по палитре RAL Classic.
К дизайнерам здесь особое отношение: обещают не только свободу в самовыражении и готовность работать в ускоренные сроки, но и гибкие условия сотрудничества. Такой подход одобряем 🤌🏼