Что делать если нужно поставить какую-то 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
Вьетнамцы устанавливают алтари для поклонения духам в офисах, чтобы с помощью традиционной магии повысить прибыльность бизнеса. Есть такое сакральное место и в «Ханой-Москва». Алтарь размещен в деревянном коробе с резными орнаментами — драконами, листьями и солярными символами. Он стоит на полу в месте, указанном мастером фэн-шуй, игнорируя удобство интерьера и симметрию.
Внутри короба — фарфоровые идолы, подставка с пятью стопками для алкоголя и блюдце для подношений (сигареты, ритуальные деньги, конфеты). Снаружи — курильница с ароматными палочками, поднос с фруктами и ваза с хризантемами. Ночью алтарь подсвечивают красными лампами.
Ежедневно специальный сотрудник проводит церемонию: подносит свежие фрукты, цветы и зажигает палочку. Расходы на алтарь никогда не сокращают, даже в кризис — это считается святотатством. В особые дни по лунно-солнечному календарю организуют расширенные ритуалы с участием владельца.
Для вьетнамцев важно поддерживать отношения с духами, демонами и призраками, соблюдая множество правил и исключений, подобно земным законам.
#ханоймосква#ханой#hanoimoscow#hanoi
Банкомат Азиатско-Тихоокеанского банка установили в ТЦ «Ханой-Москва» на -1 этаже рядом с супермаркетом «Пятерочка». Машина оснащена модулями выдачи и приема наличных, они предоставляют возможность осуществления платежей и подписки на дистанционное банковское обслуживание. По сути, он являются мини-офисом банка, позволяющими оказывать широкий спектр услуг клиентам - держателям карт международных платежных систем, а также всем покупателям.
✅Где: ТЦ «Ханой-Москва», - 1 этаж (рядом с супермаркетом «Пятерочка»)
Справка:
Азиатско-Тихоокеанский банк – один из крупнейших банков Дальнего Востока и Сибири с мультирегиональной сетью, работает на российском рынке с 1992 года.
АТБ обслуживает более 305 000 розничных и 30 000 корпоративных клиентов. Сеть банка охватывает 22 региона России. Головные офисы расположены в Благовещенске и Москве. В банке работает более 3 700 сотрудников. Чистые активы АТБ составляют 334,5 млрд рублей.
*Информационный пост, не является рекламой
#ханоймосква#ханой#hanoimoscow#hanoi
В Ханой-Москва стартовал традиционный пятничный КВИЗ, сегодня он проходит под грифом Новогодний! Команды пришли в традиционных праздничных нарядах и с роскошном настроением.
#ханоймосква#ханой#тцханоймосква#hanoimoscow#hanoi
А ещё в торговом центре установлена тематическая фотозона, на которой любой гость Ханой-Москва может запечатлеть себя на память 👻
#ханоймосква#ханой#тцханоймосква#hanoimoscow#hanoi#hanoimoscow
В Ханой-Москва стартовал традиционный пятничный КВИЗ ❤️ Команды начали сражение в интеллектуальной схватке! Пусть победят сильнейшие🤞
#ханоймосква ханой #тцханоймосква#hanoimoscow#hanoi#moscow
Злая, но красивая, ведьма украла таланты у артистов Цирка чудес, но маленькие гости Ханой-Москва помогут их вернуть!
#ханоймосква#тцханоймосква#hanoimoscow#hanoi#moscow
В Ханой-Москва стартовал традиционный пятничный КВИЗ, сегодня с приставкой РОК🤟 Желаем всем командам удачи и пусть победит сильнейший 🫶🫰
#ханоймосква#тцханоймосква#hanoimoscow#hanoi#moscow
А ещё в Ханой-Москва всегда можно нарисовать сакральный рисунок хной - мехенди, зашифровав послание ко Вселенной. Стоимость от 350 рублей.
#ханоймосква#тцханоймосква#hanoimoscow#hanoi#moscow
В Ханой-Москва пришла старая-добрая сказка! Малыши смотрят кукольный спектакль "Волк и семеро козлят" и находятся в предвкушение встречи с Бабой Ягой.
#ханоймосква#hanoimoscow#hanoi#moscow#ханой
Очаровательная Баба Яга приехала в Ханой-Москва, чтобы сварить волшебное зелье! Следим за магией 😍
#ханоймосква#ханой#тцханоймосква#hanoimoscow#hanoi#moscow
Параллельно шоу-программы "В гостях у сказки" маленьким гостям торгового центра наносят аэротату😍
#ханоймосква#ханой#тцханоймосква#hanoimoscow#hanoi#moscow