Что делать если нужно поставить какую-то 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
Что такое cash flow?
Выражение «стабильный cash flow с перспективами капитального роста» означает, что объект (в данном случае апарт-отель **FREEDOM**) сочетает два ключевых преимущества для инвесторов:
1. Стабильный cash flow (денежный поток).
- Регулярный доход от аренды (гарантированные и ежемесячные выплаты инвесторам).
- Минимизация рисков благодаря гарантированным платежам на основе договора на 10 лет с дальнейшей пролонгацией.
- Предсказуемость финансовых поступлений (за счет графика выплат).
2. Перспективы капитального роста.
- Увеличение рыночной стоимости объекта со временем (например, за счет роста цен на недвижимость в районе, развития инфраструктуры или улучшения репутации проекта).
- Возможность продажи объекта в будущем по более высокой цене, чем первоначальные вложения.
Почему это важно для инвесторов?
- Cash flow обеспечивает быстрый возврат инвестиций и пассивный доход.
- Капитальный рост даёт долгосрочную прибыль при перепродаже.
Для апарт-отеля FREEDOM это означает, что инвестор получает:
✔ ежемесячные выплаты от аренды (например, 8–12% годовых);
✔ рост стоимости недвижимости (например, на 5–15% в год за счет развития района и спроса).
Это классическая модель «купил – получай доход – продавай дороже», популярная в коммерческой недвижимости.
Если переписать другими словами формулировку, то будет звучать так:
«гарантированный доход от аренды + рост стоимости ваших вложений».
Друзья, если у вас есть какие-то вопросы, пишите их в комментариях, мы с радостью ответим, разберем все на простом и понятном языке!
#FreedomEkb
#cashflow
"У нас нет денег на ваш аппарат". Что отвечать, если у клиники пустой cash flow
Коллеги, сегодня хочу дать полета фантазии. Когда клиент говорит, что денег нет, лично я считаю, что это лучший момент для продажи. Когда клиника говорит "нет денег", она не отказывается от решения, а кричит о своей главной боли: "Не могу позволить себе простой и неэффективность". Ваша задача - не спорить, а перевести разговор с цены чека на стоимость владения (TCO) и показать путь. Фраза о деньгах - это начало диалога о деньгах, а не его конец.
📊Скрипт из 3 шагов: от возражения до предложения
ШАГ 1: Признать и перевести в аудит боли
Не спорьте. Скажите: "Понимаю, бюджет на закупки ограничен. Давайте проверим, будет ли аппарат нагрузкой или источником cash flow. Для этого нужны три цифры: текущая загрузка вашего парка в часах, средний чек исследования и сколько пациентов вы теряете в месяц из-за нехватки мощностей?".
Финансовая логика: Вы начинаете совместный расчет стоимости проблемы, которую решаете.
ШАГ 2: Показать TCO и альтернативу деньгам
На основе цифр клиента считайте не цену аппарата, а цену его отсутствия. "Если ваши потери из-за нехватки мощностей - X рублей в месяц, то реальная ежемесячная стоимость нового аппарата для бизнеса: (цена/60) - X. Часто эта цифра отрицательна - аппарат зарабатывает с первого дня. А если нет - используем инструменты, чтобы не трогать оборот: операционный лизинг с оплатой из выручки или подписка, где в абонентскую плату входит и сервис".
Финансовая логика: Вы показываете, что аппарат - это инструмент монетизации существующего, но неудовлетворенного спроса, и сразу даете финансовые "мостики".
ШАГ 3: Предложить тест-драйв на условиях клиента
"Чтобы снять риски, давайте пилот. Размещаем аппарат на 3 месяца по модели подписки или лизингас оплатой за исследование. Вы платите только за факт. Через 90 дней у вас будут свои данные по cash flow. Не сработало - забираем. Сработало - переводим на постоянную модель.
Финансовая логика: Вы продаете не железо, а гарантированный результат и снятие риска. Это меняет всю экономику сделки.
Вопрос к вам: Какое нефинансовое условие (бесплатное обучение врачей, помощь в продвижении услуги, включение в рекламную кампанию) чаще всего становится решающим аргументом для вашего клиента при напряженном бюджете? Поделитесь в комментариях.
#B2Bпродажи#переговоры#лизинг#TCO#управлениеклиникой#cashflow
Payment Delays Cost Businesses Billions
Startup ideas can emerge from ordinary problems. A staggering 50% of invoices go unpaid past the due date, leading to cash flow issues for suppliers. In the US alone, this amounts to $825 billion in challenges. Tech platforms successfully address these issues, with one experiencing a 6x revenue increase last year.
For more info, check the full article here.
Additionally, the Bitcoin dominance index recently hit a four-year high, surpassing 64%.
#PaymentIssues#Startups#Finance#CashFlow#Invoices#TechSolutions#Bitcoin#Crypto#VC