Что делать если нужно поставить какую-то 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
Хотите начать работать в Битрикс24, но не знаете, как к нему подступиться? Чудо Иван записал для вас отличную инструкцию по первым шагам! Делай раз, делай два😀 Пользуйтесь! Дорогу осилит идущий!
#Битрикс24#Bitrix24
https://youtu.be/UhE6z_PNzVk
🚀 Вебинар: Автоматизация логистики с Bitrix24
📅 Дата: 27 марта 2025 г.
🕒 Время: 19:00
📍 Формат: онлайн в канале https://t.me/Bloglogist
Приглашаем вас на практический вебинар, где мы разберем, как с помощью Bitrix24 оптимизировать логистические процессы, автоматизировать управление грузоперевозками и складскими операциями.
🔍 Что будет на вебинаре:
✅ Основные возможности Bitrix24 для логистики.
✅ Интеграция CRM с логистическими процессами.
✅ Автоматизация уведомлений, маршрутов и заказов.
✅ Управление клиентами и аналитика в Bitrix24.
✅ Примеры из практики и ответы на ваши вопросы.
🌟 Спикеры:
- Николай Юдинских: эксперт в области грузоперевозок и логистики.
- Артем Иващенко: специалист по внедрению Bitrix24 с нуля до сложных интеграций.
👥 Для кого:
- Владельцы логистических компаний.
- Менеджеры по логистике и складу.
- IT-специалисты и все, кто хочет автоматизировать бизнес-процессы.
Не упустите шанс узнать, как сделать вашу логистику эффективнее с Bitrix24!
🎁 P.S. Участники вебинара получат полезные материалы и чек-листы по автоматизации процессов.
#Логистика#Bitrix24#Автоматизация#Вебинар#CRM
В современном мире всё меньше становится видов работ, которые нельзя было бы автоматизировать. С одной стороны, нет ничего лучше живого общения и звонка от своего личного менеджера с вопросом: «Как ваши дела?». Мы помним эти времена, когда это было заложено в головах менеджеров, а не в задачах CRM. Но о преимуществах внедрения CRM спорить бессмысленно, поэтому даже самые консервативные компании продолжают обращаться за внедрением, наш кейс как раз об этом. Продолжаем упрощать сложное и не усложнять простое.
#Битрикс24#Bitrix24#CRM#методсоли
https://blog.saltpro.ru/Solim-zapravlyaem-i-zapuskaem-CRM-Bitriks24-v-optovoj-kompanii/
🧐 Как уже пятница?
А где традиционный мем от Соли?
А вот же он) Друзья, давайте вместе улыбнёмся наступающим выходным 😄
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#методСоли#мемсоль
💥 Пятничный мем врывается в чатик!
С последним рабочим днём недели друзья) Солнечных вам выходных 🌞
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#методСоли#мемсоль
💼 Зачастую работа менеджеров состоит в обработке поступивших заявок, но если заказ от постоянного клиента не пришёл, про него могут и забыть.
🤝 Наше "Приложение Автоматическое создание сделок по потерянным клиентам" вынуждает менеджера работать с постоянными клиентами, так как создаёт в CRM новые сделки по контактам, компаниям, чья регулярность заказов "страдает".
⚙ Своевременно реагируйте на сбои в заказах и не упускайте клиентов. А если у вас пока нет постоянных клиентов, с нашим приложением они обязательно появятся!
Подробнее о работе незаменимого помощника рассказываем в нашей инструкции.👇🏻
https://blog.saltpro.ru/~comeback
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🏚 Процедура бронирования квартир в новостройках достаточна проста. Выбрал, позвонил, забронировал, - вуаля!
🧐 А как устроен процесс изнутри в связке CRM Битрикс24 и сайта заказчика, посмотрим сегодня в кейсе.
https://clck.ru/ae4C8
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
💡Порция полезных материалов, а именно – кейс!
Тема: «Jira и Битрик24». Как совместить, зачем, в чём польза?
👍Читайте, будет интересно!
https://blog.saltpro.ru/~JiraIntBitrix
Есть вопросы? Напишите нам – будем рады ответить.
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🤝 Командная работа эффективнее, чем работа в одиночку, поэтому слаженно работающий коллектив – мечта работодателя.
💥 Сегодня разберём, кейс про работу бизнес-процессов, которые помогают выстроить процесс сообщений-напоминаний в командной работе любого отдела.
📢 Читайте, будет интересно! https://blog.saltpro.ru/~reminders
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🌐 Если у вас есть сайт на 1С-Битрикс и коробочный Битрикс24 и при этом наблюдаются проблемы с авторизацией пользователей, работой чатов и приложений, то, возможно, наша статья вам поможет.
😁 Читайте, наша техническая поддержка уверяет, что будет интересно.
https://blog.saltpro.ru/~cookies
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM