Что делать если нужно поставить какую-то 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
АПРЕЛЬСКИЕ ПРИВИЛЕГИИ В FREEDOM 🌱
Друзья, апрель — время перемен, вдохновения и самых приятных бонусов. Мы подготовили для вас подборку выгодных предложений, которые будут актуальны только в апреле!
Сохраняйте, чтобы ничего не упустить, и поделитесь полезной информацией с друзьями:
🥈 1. Скидка 5% на аренду номера
По промокоду «Апрель» получите скидку 5% при бронировании через наш сайт.
🌐freedom-hotel.ru⬅️🎁
📸 2. Бесплатная доставка из кафе-пекарни «Поль Бейкери»
Свежие булочки и паста стали ближе 😋
Подробности — в группе ⬅️🎁
🏊♂️ 3. Посещение бассейна «СОК Урал» за 250 рублей
Специальная цена только для гостей Freedom!
Подробности по запросу у администраторов.
💆♀️ 4. Спецпредложение на массаж. Только в апреле в массажной студии Sétedi по промокоду «FREEDOM» любой часовой массаж — 2500₽ (вместо 3150₽), а фирменный огненный массаж — 4500₽ (вместо 6700₽).
📲 Записаться можно онлайн по ссылке: https://setedi.taplink.ws
✅ В комментариях нужно указать промокод «FREEDOM».
📍массажная студия Sétedi, -1 этаж
🍿 5. Кино каждый вечер в 20:30
Абсолютно бесплатно для всех гостей отеля, расписание — в афише на неделю ⬅️🎁
🧘♀️ 6. Йога по вторникам
Весь апрель — бесплатные занятия для наших гостей. По предварительной записи.
📅 Про мероприятия апреля смотрите расписание тут⬅️
Следите за анонсами!
Мы в ВК
☎️ +7 (343) 379-09-00
🌏freedom-hotel.ru
Оставайтесь с нами и ловите весну в стиле Freedom! 🌱
#freedomEkb
Пятница — время планов. Как проведёте вечер?
У нас можно:
🍿 Посмотреть кино в 20:30
💆♀️ Уйти в массаж с головой
🏊♂️ Поплавать в «СОК Урал» за 250₽
🥐 Заказать ужин в «Поль Бейкери»
Рассказывайте в комментариях, как планируете отдыхать 👇
Ваш Freedom 🌸
#freedomEkb
🏨 Первый апарт-отель на Урале в 15 минутах езды от центра Екатеринбурга! 136 апартаментов с дизайнерским ремонтом. Уют дома, сервис гостиницы, фитнес-зал, кинотеатр, коворкинг, студия подкастов и конференц-зал.
☎️+7 (343) 379-09-00
🌏freedom-hotel.ru
#freedomEkb
🏆 Апарт-отель Freedom борется за победу в Национальной гостиничной премии!
Мы решили, что пора заявить о себе на профессиональном уровне и подали заявку на участие в национальной гостиничной премии.
Апарт-отель Freedom будет представлен сразу в двух номинациях:
1. 🏨 «Лучший проект реконструкции отеля» — наш проект реконструкции заслуживает внимания, и мы готовы доказать это экспертному жюри.
https://hotelawards.ru/categories/luchshiy-proekt-rekonstrukcii-otelya
2. 👤 «Персона года» — здесь честь апарт-отеля и всего нашего коллектива будет отстаивать управляющий Евгений Захаров.
Держите за нас кулачки! Для нас это важный шаг в развитии и признание качества сервиса. 🤞
#freedomEkb
Иногда нужно отключиться от мира, чтобы снова подключиться к себе. Отель для этого — идеальное место.
☎️+7 (343) 379-09-00
🌏freedom-hotel.ru
#freedomEkb
МАРТОВСКИЕ ПРИВИЛЕГИИ В FREEDOM 🌸
Друзья, весна — время перемен, вдохновения и самых приятных бонусов. Мы подготовили для вас подборку выгодных предложений, которые будут актуальны только в марте!
Сохраняйте, чтобы ничего не упустить, и поделитесь полезной информацией с друзьями:
🥈 1. Вторые сутки — минус 10%
При бронировании вторых суток дарим скидку 10%. Подробности — в отдельном посте⬅️🎁
📸2. Бесплатный мастер-класс по фото-позированию
Учимся создавать идеальные кадры с профессиональным фотографом и директором модельной школы. Пост с деталями в ВК — здесь⬅️🎁
🏊♂️ 3. Посещение бассейна «СОК Урал» за 250 рублей
Специальная цена только для гостей Freedom! Подробности тут⬅️🎁
🍣 4. Восемь роллов в подарок 😋
При заказе через сайт Вкус.space укажите промокод Freedom и получите подарочный ролл из 8 шт. при любом заказе от 1000₽.
💆♀️5. Скидка 30% на огненный массаж
Для гостей отеля действует скидка 30% на огненный массаж по промокоду «ОГОНЬ». Массажный салон Sétedi, -1 этаж.
Забронировать дату и время тут⬅️🎁
🍿6. Кино каждый вечер в 20:30
Абсолютно бесплатно для всех гостей отеля, ознакомиться с расписанием можно в афише⬅️🎁
🧘♀️7. Йога по вторникам
Весь март — бесплатные занятия для наших гостей. По предварительной записи.
Следите за анонсами!
Мы в ВК
☎️+7 (343) 379-09-00
🌏freedom-hotel.ru
Оставайтесь с нами и ловите весну в стиле Freedom! 🌱
#freedomEkb
Посуда с душой ❤️
Кажется, наша гостья готова объявить охоту на тарелки 😀 А всё потому, что к выбору посуды для номеров мы действительно подошли с особым трепетом!
Нам важно, чтобы даже обычный завтрак или уютный ужин в номере приносили эстетическое удовольствие. Поэтому для вас мы подготовили всё необходимое.
🍽 Сервировка на двоих
Когда вы заезжаете вдвоем, на кухне вас уже ждет полный комплект:
— прозрачные стаканы (2 шт.)
— бокалы для вина (2 шт.)
— чашки с логотипом для чая и кофе (2 шт.)
— плоские тарелки с мотивирующими надписями (2 шт.) — пусть каждый приём пищи будет вдохновляющим!
— глубокие тарелки с логотипом (2 шт.)
— столовые приборы из хирургической стали
🔪 Всё для готовки:
ложки, вилки, ножи, штопор, вакуумная пробка для вина, открывашка для консервов, кастрюля, сковородка и разделочная доска.
🧼 Забота о комфорте
Чтобы вам не пришлось думать о бытовых покупках, в номере есть средство для мытья посуды (встроенный дозатор на раковине), тряпочка для стола и полотенце для рук.
Для гостей «Люкса» — приятный бонус: посудомоечная машина и капсулы для стирки.
Приезжайте! У нас всё по-домашнему уютно и с душой продумано до мелочей 🏨✨
На всякий случай напоминаем: уносить тарелки и приборы из отеля нельзя, но можно пользоваться ими без ограничений. А если вдруг случился бой — не страшно, однако придется оплатить штраф.
🌎freedom-hotel.ru
☎️ +7 (343) 379-09-00
#freedomEkb