Что делать если нужно поставить какую-то 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
Московское метро идеально на 99%, но…
Тот самый 1% из нью-йоркской подземки образца 1962 года: Джозеф Э. О'Грэйди, член транспортного управления Нью-Йорка (MTA), за барной стойкой в так называемом «вагоне мечты».
#cheers
В день рождения Веры Игнатьевны Мухиной обратимся к её работам из стекла под грифом #cheers, которые она создавала в экспериментальном цехе Ленинградского завода художественного стекла (ЛЗХС).
«Но самая большая ее любовь — стекло. Она была очарована его возможностями еще в молодости, когда любовалась витражами церкви Sainte Chapelle в Париже, изделиями стеклодувов Мурано. Потом это увлечение вспыхнуло в 1928 году, опять в Париже: увидев выставленную фирмой Лалика скульптуру из стекла, три дня ходила в магазин фирмы, купила стеклянного краба, разговаривала и с продавцами, и с мастерами, и с художниками, но секрета стеклянного литья так и не узнала», — О.П. Воронова, 1976.
Винный набор «Астра» из хрусталя, бокалы на забавных ножках с сочетанием бесцветного и окрашенного стекла, будто бы сделанная из лунного камня крюшонница — новое слово в советском художественном стеклоделии, сказанное героиней сегодняшнего дня.
📷 Русский музей
Обычно мысль полетать на воздушном шаре меня пугает, но не в этом случае — в начале недели в небо над Мельбурном поднялась «пробка» от Moët & Chandon в честь старта первого сезона чемпионата мира Формулы-1, официальными брызгами которого является шампанское Дома. #cheers!
📷 peter_van_alphen
Лингво-#cheers в эфире
В список моих любимых по звучанию и значению слов входит кутёж. Недавно узнала, что в переводе на английский это binge, например — 5 day drinking binge, то есть 5 дней кутежа.
И пока я преподаю основы кутежелогии, моя приятельница София, о которой я вам уже рассказывала, продолжает нетривиально учить людей английскому: через мемы (если вы не вышли замуж к 30, есть и хорошие новости) — и это несмотря на солидный бэкграунд и сертификат CELTA.
Как угрожать в стиле A$AP Rocky и проматывать деньги на богатом английском — знает @speakeasychannel
Обычно мысль полетать на воздушном шаре меня пугает, но не в этом случае — в начале недели в небо над Мельбурном поднялась «пробка» от Moët & Chandon в честь старта первого сезона чемпионата мира Формулы-1, официальными брызгами которого является шампанское Дома. #cheers!
📷 peter_van_alphen
С вами рубрика #cheers и платье в форме бутылки шампанского Veuve Clicquot.
Музей моды в Бате пишет, что костюм, вдохновлённый популярностью рекламных приёмов в одежде, был изготовлен для ирландской светской львицы Ады Пауэр в 1900-х: тёмно-зелёный бархат юбки имитирует стекло, этикетка отсылает к знаменитому шампанскому Дому, золотой лиф и объёмные рукава — к фольге и пузырькам, ну а шляпка изготовлена в форме пробки. Заверните!
📷 Fashion Museum Bath
Хочется превратить объединение друзей канала праздничным тегом #субъективныйвыбор в добрую традицию, поэтому встречайте новую подборку новогодних и не только хотелок от моих любимых авторов, которыми стоит пополнить свои вишлисты.
- Александр Рымкевич, эксперт мужского стиля и автор канала @lebonmot: «Поскольку я завершаю ремонт, то все мои идеальные подарки из числа предметов дизайна и декора. Давно засматриваюсь на этот табурет Alessi Poêle авторства Филиппа Старка. Вообще он вдохновлялся сковородкой, но мне в форме сиденья видится скорее металлическая плакетка на пробке для шампанского». #cheers!
- Владик, медалист дурного юмора (с) и автор канала о прекрасном @dlyarai: «Колье из хрустальной матовой гальки на красной вощеной нити с завязками. Не боится воды. Ama jewelry, молодой российский бренд. Подходит как м, так и ж».
- Александр Кулиш, путешественник со стажем и автор канала @Gtrotter: «В моем листе хотелок – несколько керамических плиток из серии Луи Бартелеми «Египтомания», которая выпущена британским брендом товаров для ванной Balineum. Я в восторге от того, что делает Бартелеми в разных форматах – вышивке, коврах, муралах, одежде, и вот теперь керамике. Ну а о Египте, тем более таком идеализированном, приятно думать зимой – согревает».
- Онлайн-журнал @myhandbook в лице его редактора Лены Алексеевой: «В моём личном виш-листе сыворотка для лица SS01 Secret Sauce бренда The Beauty Sandwich, созданного любимцем Голливуда и красивым человеком Иваном Полом. Уже 15 лет его руки подтягивают и скульптурируют самые известные лица по обе стороны Атлантики. Фирменная массажная процедура Ивана получила развитие в "соусах" из органических ингредиентов, которые, по его мнению, являются лучшим вкладом в долголетие кожи. Ну как не хотеть такой подарок под ёлочку?»
- Ульян Евтеев, автор канала про историю транспорта через призму моды и искусства @voyage_transport: «В Санкт-Петербурге есть мастерская "Красивое стекло", где делают красивейшие калейдоскопы. Выбор у них огромный, но мой фаворит – это, конечно, коллекция "Ретротранспорт"! Кстати, а вы знаете, что рассматривание чудо-трубы полезно для глаз и нервов? Так что, если хотите на Новый Год совместить приятное с полезным, – подумайте о калейдоскопах».
- Юра Скрелин, автор канала о модернизме в архитектуре и дизайне @midcenturymodern: «Мы к вам, как всегда, с книжными новинками об архитектуре. Через три года после выхода путеводителя по новейшей архитектуре Санкт-Петербурга наша добрая коллега Анна Мартовицкая в соавторстве с Юлией Шишаловой опубликовала аналогичный путеводитель по современным постройкам Москвы. Каждая из этих книг станет прекрасным подарком для любителей архитектуры, а обе - просто double rainbow, oh my God!»