Что делать если нужно поставить какую-то 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
Единственный оставшийся в Москве деревянный храм XIX века.
Храм Преображения Господня в Богородском (Спасо-Преображенская церковь) — православный храм в районе Богородское города Москвы. Относится к Воскресенскому благочинию Московской епархии Русской православной церкви.
#Богородское#heritage
Manusrimiti, Arthashastra, Indic Values Must Be Taught To NLU Students; Most Disconnected From Roots : Justice Dharmadhikari #Heritage#Policy
https://www.livelaw.in/amp/news-updates/justice-sa-dharmadhikari-nlu-prodigies-disconnect-cultural-ideological-roots-531802
U.S. returns 657 stolen artefacts to India in $14 million restitution. The pieces were recovered pursuant to several ongoing investigations into criminal trafficking networks, including those of alleged antiquities trafficker SUBHASH KAPOOR and convicted trafficker NANCY WIENER. The pieces were returned at a ceremony with Consul Rajlakshmi Kadam from the Consulate General of India in New York.
“The scale of the trafficking networks that targeted cultural heritage in India is massive, as demonstrated by the return of more than 600 pieces today,” said District Attorney Bragg. #ForeignAffairs#Heritage
https://manhattanda.org/d-a-bragg-announces-the-return-of-more-than-650-antiquities-to-the-people-of-india/
🏗️ CM Pushkar Singh Dhami approved ₹1,200 crore to accelerate infrastructure projects across the state.
🕉️ Around ₹282 crore will fund 28 projects to prepare for Kumbh Mela 2027.
🌉 Key initiatives include the Haridwar Ganga Corridor, Rishikesh Ganga Corridor, and Sharda Riverfront Corridor.
📍 Another ₹1,018 crore will be distributed among districts under the 2026–27 District Plan to support regional development. #Heritage#Infra
😀Покажи нам heritage
В любом торговом центре повторения в коммуникациях с клиентами — неизбежны. Фасады и торговые залы, slow motion еды, анимированные афиши мероприятий показывают в соцсетях ну просто все. Любые темы уже попробовали и — да, это всё скучно, девочки.
Как исследователь я всегда предлагаю копать глубже. Поговорим про эритаж (не путать с Эрмитажем).
*Культурное наследие, уникальность, исторический бэкграунд, традициимастерства — все это называется термином heritage в маркетинге высокой и не очень моды.
Тема всегда выходит на передний план в физическом ритейле и услугах, когда надо обосновать для клиента премиальную наценку или пояснить зачем ему «платить дороже».
Проблема (да и, пожалуй, плюс) этого самого heritage, что он дан нам в ощущениях и потому клиенту следует пояснять и, по возможности, показывать, что имеется ввиду.
⭐️ Перехожу к примеру
Так, например, ювелирное ателье repossi, которое разрабатывают коллекцию украшений для универмагов Lane Crawford, частями показывают креативный и производственный процесс. Чтоб было ясно и понятно, где скань, где зернь, где чернь, где золочение. И косвенно поясняют, что вещь авторская, креативно выстраданная и потому… дорогая
Sokolov, по идее, тоже так может! Что им мешает показать руки мастеров из Красного, а не только то как Лола меняет старые сережки на новые через trade in 🤷♀️
#рецепт_контента#heritage
⚡️Вчера были на пресс-показе выставки «Степени прозрачности. Vitalité fragile», которая является кураторским проектом Марины Ширcкой и первой выставкой нового фестиваля российского художественного стекла GlassGlow.
В галерее Heritage искусство и дизайн заполнили все пространство. Завораживающие своей хрупкой красотой работы из стекла словно призывают прислушаться к вашим внутренним чувствам, обращая внимание на свою изменчивость и пластичность.
Экспозиция создает обволакивающее, дышащее и даже укрощающее ощущение. Хрупкость человеческой природы и стекло переплетаются в единое целое, где каждый сантиметр работ - это мысли автора.
В центре внимания произведения хэдлайнера проекта Марии Кошенковой, которая напротив бросает вызов традиционным представлениям о прекрасном, исследуя безобразное. Ее работы совмещают функциональность и образность.
В завершении повествования еще хочется отметить коллаборацию Гусевского хрустального завода с современными художниками, которые также продемонстрировали необычайную трансформацию стекла.
🗓️ 11 декабря - 28 февраля
⛳️ ул. Петровка, 20/1, подъезд №2
#были_лично#галереялично
#lichnogallery#heritage#выставка
🌎 Perched high in the Italian Alps, the village of Corippo holds the title of Switzerland’s smallest municipality. With fewer than 15 residents, its centuries-old stone houses cluster on steep slopes, connected by narrow cobblestone paths. The entire village was declared a Swiss heritage site in 1975. ✨
#settlements⚡#mountains⚡#heritage
👉subscribe Interesting Planet
👉more Channels
🌍 The ancient terraces of the Canary Islands blend natural volcanic slopes with centuries-old farming. These landscapes are so unique they’re recognized globally as a heritage site. ✨
#heritage⚡#agriculture⚡#islands⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The cultural landscape of Cappadocia, Turkey, features ancient cave homes and churches carved into soft volcanic rock. Wind and water sculpted the valleys, creating surreal "fairy chimney" towers. ✨
#heritage⚡#landscape⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The Stone Forest of Shilin in China is a natural and cultural heritage site, where tall limestone pillars shaped by erosion have inspired centuries of local legends and traditional festivals. ✨
#heritage⚡#landscape⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The rice terraces of Bali, Indonesia, are a living cultural landscape shaped by the ancient "subak" system—cooperative water management traditions that blend local religion, farming, and environmental care. ✨
#heritage⚡#agriculture⚡#landscape⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The Rice Terraces of Yuanyang in China were carved into steep mountains over centuries. These living heritage sites are so vast they create their own microclimate and reflect the region's cultural history. ✨
#heritage⚡#landscapes⚡#agriculture⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍