Что делать если нужно поставить какую-то 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
Кастдев, говорите? Глубинное интервью? Ну ага.
Разговариваю тут с фаундером Hoteza, занимающимся софтом для отелей. Рассматриваем возможность сотрудничества с Реалитикой для продажи аналитики их клиентам.
И вот фаундер в какой-то момент времени говорит, что в 5+ звездочных отелях зарплата управляющего составляет около $1M в год.
У меня челюсть в пол.
При этом, — продолжает фаундер —, решения, которые он принимает, основаны на его личном представлении о прекрасном.
Типа, на утренней планерке он говорит, что ему кажется, что в лаунже столы недостаточно блестят и отныне их надо драить идеально и тогда на букинге рейтинг будет не 4.4, а 4.5.
То есть, — уточняю, — он не глубоко разбирается в вопросах, но хорошо организует работу.
Всё понятно. Кроме зарплаты. За ЧТО ему столько платят?!
Кажется, что топ-менеджеры столько не стоят. Тем более, компетенции у него описываются словами «опыт, интуиция и вкус».
А все просто, — говорит фаундер. Он должен получать примерно столько же, сколько клиенты его отеля в месяц на себя тратят. Иначе он совсем не будет понимать их.
То есть если он будет получать $100k в год он не поймет их запросов, будет считать, что «ваша Галя балована» и они с жиру бесятся.
Тут и сел старик. Завис я основательно. А потом вспомнил свой сравнительно недавний опыт. Тоже про знание аудитории.
Мне тогда во время химиотерапии нужно было принимать 2 лекарства.
Одно два раза в день 2 недели и потом неделю перерыва. А второе — три таблетки в первый день, две во второй, одну в третий и потом ждать начала цикла.
Я решил скачать приложение, напоминающее о своевременном приеме этих «колес». Перепробовал примерно все, что было в аппсторе. Около 30 штук.
Знаете сколько из них могло поддерживать такую последовательность? Ноль. Ни одно.
Я тогда подумал, что чуваки, которые это делают, вряд ли что-то принимают кроме аспирина после пьянки.
Кажется очевидным, что пожилым людям невероятно сложно сделать сервис для подростков. Но мало кому приходит в голову, что обратное тоже верно. Да-да, исключения бывают. Но это ошибка выжившего.
Банально, конечно, но получается, что глубинных интервью недостаточно. Нужно еще «немного» жизненного опыта, чтобы интерпретировать результаты.
Урок, который я для себя извлек из этого кейса: если придется делать продукт для людей не из своей страты, то жизненно важно осознавать, что я не понимаю про них.
#cjm#ментальнаямодель
Не еда и не номер: как впечатления стали главным продуктом — и почему CJM спасает лояльность
Индустрия гостеприимства выходит за рамки привычного сервиса, и лидеры рынка уже продают эмоции. На конференции «Гости» первый день будет полностью посвящен работе со впечатлениями.
🏜 Программа первого дня и реальные запросы клиентов
Гость больше не покупает просто чашку кофе или чистую постель. Он платит за итоговое впечатление. Участники трёх сессий обсудят, как клиент принимает решение вернуться. Часто этот выбор зависит от мельчайших деталей, которые линейная команда пропускает в ежедневной рутине.
🏕 Практика по CJM и поиск слабых мест
Впечатления требуют оцифровки. На мастер-классе по Customer Journey Map эксперты покажут критические точки контакта. На этом этапе вы:
— Увидите реальный путь клиента от входа до выезда.
— Найдёте этапы, на которых команда обнуляет впечатление гостя.
— Поймёте, как исправить ошибки сервиса при безупречной работе кухни.
Ожидания аудитории растут быстрее, чем обновляются стандарты.
Не упустите шанс перестроить работу — бронируйте билеты, пока остаются места.
Мероприятие пройдёт 14 апреля в Санкт-Петербурге.
👉 Подробности программы и регистрация
#гостеприимство#cjm#конференция
🔍Customer Journey Map для производителя
Мы запускаем новый цикл материалов с Ириной Борисовой, экспертом в области розничных технологий и нейромаркетинга, посвящённый практическому маркетинговому инструменту — Customer Journey Map (карта пути клиента).
❤️🔥В первой статье Ирина рассказала, зачем российским FMCG-брендам нужен CJM и почему качественный продукт больше не гарантирует рост прибыли.
Через две недели вы узнаете, как производству пошагово построить свою карту пути клиента: какие этапы выделить, какие вопросы задать команде, где находятся точки потери денег.
➡️ Не пропускайте новые статьи — подписывайтесь на телеграм-канал «Сфера: маркет и маркетологи»!
Фото: sparkjauhari / freepik
#СфераМаркет_эксперт#СфераМаркет_тренды#CJM
🗺 CJM в мероприятиях: как управлять эмоциями гостей
Лилия Федорова — управляющий партнер Avantage Project ✨о том, как построить эффективный путь гостя и создать запоминающийся эмоциональный опыт на мероприятии любого формата.
Таймкоды:
00:00 - Приветствие и представление спикера
00:46 - Что такое Customer Journey Map и зачем она нужна
01:43 - Применение CJM в ивент-индустрии
02:35 - Этапы пути гостя: от вовлечения до повторных коммуникаций
03:53 - Форматы создания карты пути гостя (схемы, презентации, майнд-мэпы)
05:19 - Почему логистики недостаточно: эмоциональный опыт участников
06:29 - Зачем использовать CJM: повышение качества логистики и сервиса
07:25 - С чего начать построение CJM: определение целевой аудитории
08:07 - Сбор и использование данных для построения маршрута
09:01 - Прототипирование мероприятия: рисуем карту гостя "ногами"
10:42 - Кейс с фестивалем BoogelWoogel: продумывание всех сценариев
11:31 - Регулярное обновление карты пути гостя
12:04 - Командная работа над CJM: вовлечение разных специалистов
12:37 - Новые требования: не только знание, но и эмоциональная включенность
13:11 - Практический кейс: ошибки в логистике летнего тимбилдинга
14:13 - Интеграция партнеров и брендинг вдоль пути гостя
15:05 - Эмоциональная привязка на каждом этапе маршрута
16:03 - Кейтеринг, тихие зоны и другие элементы комфорта
17:20 - Адаптация мероприятия под разные поколения аудитории
18:01 - Работа с фокус-группами в рамках CJM
18:46 - Ключевые вопросы при построении карты пути: что чувствует гость?
19:56 - Финал мероприятия и последующие коммуникации
21:03 - Выводы: CJM - не просто инструмент, а мышление
21:39 - Новый опыт как основная цель современного мероприятия
22:41 - Заключение: важность участника и его эмоций
23:46 - Сессия вопросов-ответов
23:57 - Вопрос о практическом применении CJM в агентстве
26:17 - Вопрос об отстаивании экспертной позиции перед заказчиком
#cjm#customerjourney#мероприятия#eventmanagement#avantageproject#путьгостя#управлениемероприятиями
Все видео деловой программы «Сцены 10» на сайте https://scenafest.ru/2025
Деловая программа организована при поддержке EVENT MBA
Видеосъёмка — PROSTUDIO.NET