Что делать если нужно поставить какую-то 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
H🙂LA, Друзья!
Сегодня мы расскажем вам о 3-х фильмах, которые помогут прочувствовать осеннюю атмосферу и превратить даже самые пасмурные дни в уютные🥰
«Когда Гарри встретил Салли» 1989
Это фильм о многолетней дружбе, которая так и не переросла в отношения. И хотя Гарри с Салли любят друг друга , каждая сторона имеет свои страхи и предубеждения, которые мешают им обрести счастье. Сумеют ли герои преодолеть их или так и останутся порознь?
«Улыбка Моны Лизы» 2003
Чтобы чему-то научиться, возьмись учить другого: главная героиня фильма преподаёт в колледже, а на фоне её жизни разворачивается движение суфражисток. Как это изменит её жизнь и жизнь учениц – узнаем из фильма!
«Гордость и предубеждение» 2005
Самая яркая экранизация знаменитого романа Джейн Остин! Помешают ли ее гордость и его предубеждения их счастливому будущему? Смогут ли они отойти от стереотипов, навязанных обществом, и сделать выбор в пользу сердца?
#lesartresort#lesresort#семейныйотдых#всевключено#allinclusive#holaclusive
Проверено: любой, даже самый хмурый и пасмурный день может стать счастливым и солнечным, если провести его в LES Art Resort💫
Спасибо, что выбираете нас❤️
#lesartresort#lesresort#семейныйотдых#отдыхсдетьми#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Только посмотрите на радость маленьких Друзей от пенной вечеринки !😍
LES Art Resort дарит удивительные эмоции не только взрослым, но и самым маленьким нашим постояльцам❤
Каждый день мы проводим развлекательные мероприятия и всегда счастливы видеть вас среди них💫
#lesartresort#lesresort#семейныйотдых#отдыхсдетьми#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Проводить время на природе не только полезно, но и приятно! А чтобы разнообразить досуг, мы предлагаем несколько замечательных игр для всей семьи☺️
1. Фрисби — запускать и перекидывать друг другу тарелку, соревнуясь в дальности. Фрисби подойдет не только для активного отдыха всей семьей, но и для игры с питомцем💫
2. Бадминтон — научиться играть в бадминтон очень легко, за что его любят и дети, и взрослые. А главное – не нужно никаких специальных приспособлений. Только две ракетки и немного свободного места 👌
3. Запустить воздушного змея — отличная идея для развлечения на открытой местности 😍 Только представьте, сколько восторга доставит летающий змей всем членам семьи!
Желаем хорошо провести время❤️
#lesartresort#lesresort#семейныйотдых#отдыхсдетьми#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Катание на мини-электромобилях – одно из любимых развлечений наших маленьких постояльцев💫
Научиться управлять таким автомобилем под присмотром инструктора, устроить небольшую гонку и исследовать территорию отеля — все это можно сделать в LES Art Resort!🏎
#lesartresort#lesresort#семейныйотдых#отдыхсдетьми#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Love, enjoy and smile ❤️
Желаем вам отличного настроения и прекрасных выходных☺️
Мы надеемся, что вы проведёте их с удовольствием и пользой для себя, успеете отдохнуть и начнете новую неделю с улыбкой!
А мы всегда ждём вас в LES Art Resort💫
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Таунхаус FAMILIA в LES Art Resort - идеальный выбор для отдыха большой семьей или веселой компанией 💫
Две просторные спальни с балконами, две стильные ванные комнаты, гостиная зона и кухня – здесь есть все для комфортного пребывания наших постояльцев😍.
Общая площадь – 107 м2, вместимость – до 6 человек.
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Сегодня для большинства современных подростков компьютеры - неотъемлемая часть жизни. Однако не стоит забывать, что рекомендуемое время использования компьютера для них – до 2-х часов.
Для подростков существует огромное множество различных занятий, не связанных с компьютером. Это может быть и игра на музыкальном инструменте, и изучение понравившегося иностранного языка, и живопись. Любые спортивные или настольные игры также помогут скрасить досуг и отлично провести время.
В LES Art Resort предусмотрена специальная программа для подростков.
Спорт, веселые соревнования, настольные игры, лазертаг, увлекательные мастер-классы и многие другие активности на любой вкус ежедневно доступны для них в клубе «Независимости от родителей», о котором мы обязательно расскажем в ближайшее время.
Будьте уверены – аниматоры не дадут заскучать юным Друзьям, пока их родители будут наслаждаться долгожданным отдыхом.
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Ресторан «GALERY LES OLÉ» в LES Art Resort очарует каждого посетителя своей неповторимой атмосферой и покорит изысканной европейской кухней в авторской интерпретации бренд-шефа.
Уникальная коллекция европейских вин, легкие авторские твисты и популярная классика - идеальное дополнение к превосходной кухне ресторана «GALERY LES OLÉ».
В меню предусмотрены гипоаллергенные блюда для наших маленьких постояльцев и уютный детский уголок с игрушками.
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive
H🙃LA, Друзья!
Тренажерный зал в LES Art Resort - идеальное место для тех, кто стремится к здоровому образу жизни и не желает нарушать график тренировок даже в отпуске👌
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Уютные номера категории NEW Standard всегда к вашим услугам! Наши обновленные двухместные номера – must have для комфортного отдыха на этих выходных! ❤️
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive
H🙂LA, Друзья!
Для тех, кто мечтал о мини-отпуске, но не успел спланировать его летом, мы подготовили специальное предложение «Длинные выходные в LES Art Resort»!
В сентябре мы дарим скидку 30% от стоимости проживания с четверга по пятницу при бронировании на 3 ночи с четверга по воскресенье.
❗Данная скидка суммируется со скидками за раннее бронирование и способ оплаты❤ и начисляется при бронировании на сайте lesresort.ru или по телефону +74952010504.
❗Спецпредложение действует в периоды 7-10/09, 14-17/09, 21-24/09
#lesartresort#lesresort#длинныевыходные#семейныйотдых#holaclusive#акция