Что делать если нужно поставить какую-то 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
Планируете мероприятие или переговоры?
Конференц-залы отеля Пекин идеальное место💫 - обращайтесь в отдел продаж отеля по телефону: +7 495 775 0188. Менеджеры учтут все ваши пожелания и организуют мероприятие на высшем уровне.
#гостиницапекин#гостиницапекинмосква#hotelpeking#hotelpekingmoscow
#москва
Возьмите паузу, позвольте себе уединение, насладитесь проживанием в самом центре Москвы.
Бронируйте номера на сайте отеля: www.hotelpeking.ru со скидками💫
#гостиницапекинмосква#пекинмосква#москва#hotelpeking#hotelpekingmoscow
Дорогие Друзья!
Поздравляем Вас с этим замечательным праздником. В первую очередь хочется пожелать большой и искренней любви, чтобы грела в мороз и стужу, чтобы раз и навсегда, чтобы захватывала дух и от неё замирало сердце, чтобы ломала любые стены и преодолевала любые преграды. Главное, хранить её и беречь, чтобы ничего не помешало ей расти. С праздником❤️
#деньвсехвлюблённых#гостиницапекин
#пекинмосква#hotelpeking#москва
Зачем мечтать, когда можно уже сейчас забронировать проживание со скидкой до 30%.
Предложение действует в период проживания с 18 по 27 февраля 2022 года.
Команда нашего отеля ждёт Вас!💫
#гостиницапекин#hotelpeking#гостиницапекинмосква#hotelpekingmoscow
#sale
Пусть первая рабочая неделя 2022 года будет лёгкой и задаст комфортный для Вас темп на весь год💫
⠀
#hotelpeking#отельпекинмосква #2022 #пекин#hotelpekingmoscow#новыйгод2022
Подробнее об акции:
– Для участия в акции зарегистрируйте карту «Мир» банка-участника в Программе лояльности платёжной системы «Мир» на privetmir.ru/russiatravel или в приложении «Привет, Мир!».
Оплачивайте проживание в период с 18 января 2022 (с 00:00:00 по московскому времени) по 12 апреля 2022 (по 23:59:59 по московскому времени). Проживание должно состояться в срок:
• с 18 января по 30 апреля 2022 года.
Регистрация в Программе лояльности платёжной системы «Мир» возможна только с картой банка-участника.
Минимальная продолжительность проживания — от 2 ночей.
Кешбэк будет начислен на зарегистрированную в Программе лояльности платёжной системы «Мир» карту «Мир» банка-участника, по которой вы совершили оплату, в срок до 5 рабочих дней с момента поступления информации о платеже Оператору акции.
Общий срок проведения акции: с 18.01.2022 по 12.04.2022.
#кэшбэк#мир#гостиницапекинмосква#hotelpeking#hotelpekingmoscow
На 73 году жизни умер культовый французский кутюрье, фотограф, основатель дома моды Mugler Тьерри Мюглер.
Фотографии Мюглера были не менее амбициозными, чем его шоу.
Вашему вниманию представляем одно из самых ярких фото отеля Пекин.
⠀
#гостиницапекин#гостиницапекинмосква#hotelpeking#hotelpekingmoscow#mugler#thierrymugler
С праздником Великой Победы!
Мирного неба, ясного солнца, доброй жизни вокруг!
Светлая память героям войны и их подвигам!
#9мая#9мая2021#76летпобеды#pekinghotel#hotelpekin#hotelpeking#pekinghotelmoscow
1 июня отмечается Международный день защиты детей!
Задача каждого взрослого - сделать детство счастливым и беззаботным.
А мы #pekinghotelteam делаем все, чтобы нашим маленьким гостям и их родителям было уютно и комфортно в нашем отеле. Для малышей у нас есть:
✅детские кроватки
✅стульчики для кормления
✅игрушки
✅подогреватели и стерилизаторы для бутылочек
✅ванночки для купания и даже горшок!
Все, что нужно для отличного отдыха!
Ждем вас в отеле “Пекин”!
Москва, Большая Садовая, д.5
#hotelpeking#pekinghotel#hotelpekin#pekinghotelmoscow#гостиницапекин#гостиницапекинмосква#отдыхсдетьми#семейныевыходные
Апартаменты “Золотой Сад” просторный двухкомнатный номер высшей категории, состоящий из большой спальни с двуспальной кроватью размера King size, гостиной с мягкой мебелью, обеденной зоны с кухонным уголком.
Идеальный вариант для размещения семьи.
Номер оснащен всем необходимым для длительного проживания, а дизайнерское решение в пастельных тонах способствует созданию уютной домашней атмосферы. Вся мебель выполнена из натурального дерева.
В ванной комнате: душевая кабина, биде, фен, косметические принадлежности, махровый халат и тапочки. Номер оборудован мини-кухней, чайной станцией, удобной обеденной зоной.
Бронируйте на официальном сайте www.hotelpeking.ru
#забронироватьгостиницу#стандартныйномер#номерлюкс#гостиницапекин#отельпекин#отельпекинмосква#hotelpeking#pekinghotelmoscow#pekinghotel#hotelpekingmoscow
Планируете путешествие в Москву на выходные на машине? Позаботьтесь о парковке заранее.
Бронируйте проживание в номерах категории “Люкс” и выше по тарифу “ПРОМО” на официальном сайте и воспользуйтесь комплементарным паркингом от отеля🅿️
Используйте промо-код PROMO при бронировании. Наличие парковочных мест может быть ограничено. Уточняйте информацию заранее в отделе бронирования отеля.
Отель “Пекин”, Москва, ул. Большая Садовая, д.5. Тел: 8 495 980 59 95
#pekinghotelmoscow#hotelpekingmoscow#hotelpeking#hotelpekin#pekinhotelmoscow#hotelpekinmoscow#гостиницапекин#отельпекин#отельпекинмосква#гостиницапекинмосква#отельспарковкой
Как известно, с бельведера гостиницы “Пекин” на Москву смотрят четыре скульптуры-”спасителя”:
🌟Защитник
🌟Колхозница
🌟Рабочий
🌟Учительница
Именно на эти профессии власти советской страны возложили особую роль в деле восстановления и процветания великой державы.
Кстати, совсем недавно прошли реставрационные работы и скульпторы восстановили статуи, придав им первозданный вид, чтобы они и дальше радовали москвичей и гостей столицы.
Гостиница “Пекин”. г. Москва, Большая Садовая, д.5 Тел. 8 800 250 05 50
Благодарим за фото https://instagram.com/s.s.moroz
#отельпекинмосква#гостиницапекинмосква#отельпекин#pekinghotelmoscow#hotelpekingmoscow#hotelpeking#сталинскийампир#москвавдеталях#историямосквы#маяковская#триумфальнаяплощадь#отельвмоскве