Что делать если нужно поставить какую-то 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
Запущена версия 2.0 протокола bemo
Вприложении появился таймер анстейкинга, который показывает время до конца валидации. Пользователи смогут вывести свои TON-токены в любой момент после истечения времени.
Мы также улучшили смарт-контракт, сделав stTON более удобным для интеграции в экосистему DeFi.
#bemo
TON без границ
bemo открывает возможности стейкинга для большего числа пользователей, в то время как традиционный стейкинг требует гораздо больше навыков и накладывает ограничения на ликвидность.
Для традиционного стейкинга TON нужны:
- Специальные знания
- Значительное количество TON токенов
- Производительно оборудование
В свою очередь с bemo:
- Не нужны специфические знания
- Принимается любое количество TON токенов
- Не нужно специальное оборудование
Присоединяйтесь кbemo
#liquidstaking#bemo
🚀Алексей Иванов из bemoрассказало ликвидном стейкинге, магии LSDfi, а также о проекте токеномики нашего приложения.
Смотрите запись встречи здесь
#bemo#LSDfi
bemo в цифрах
stTON = 1.0068 TON
👥 203 уникальных кошелька
💰 TVL: $1.72m
🔒В стейкинге: 1.22m токенов TON
bemo сейчас занимает 3 место среди всех проектов на TON по TVL 🔥
Присоединяйтесь к bemo прямо сейчас
#liquidstaking#bemo#DeFi
bemo в цифрах
$stTON = 1.0025 $TON
👥 125 уникальных кошельков
💰 TVL: $822k
🔒В стейкинге: 610k токенов TON
Присоединяйтесь к bemo прямо сейчас
#liquidstaking#bemo#DeFi
🎉Отличные новости! DefiLlama, крупнейший информационныйагрегатор DeFi, залистили bemo!
Теперь ещё проще следить за ростом TVL stTON, первого в своём роде протокола ликвидного стейкинга на блокчейне TON.
Больше деталей здесь
#DeFi#bemo#liquidstaking
bemo VS стейкинг-пулы
Почему bemo является лучшей платформой для стейкинга TON-токенов?
Что предлагают стейкинг пулы:
😮 Сверхвысокие комиссии, до 40% от награды за стейкинг
😣 Ограниченный потенциал доходности
😩 Минимальный депозит для стейкинга 10 тыс. TON-токенов
Что предлагает bemo:
💸 Комиссия платформы 20%
💰 Больше доходности по стейкингу и дополнительный доход от использования stTON в DeFi
👍 Стейкинг любого количества TON-токенов
* * *
🚀 Присоединяйтесь к bemo прямо сейчас
#DeFi#LiquidStaking#bemo
$stTON теперь на $stTON is now listed on STON.fi🚀
🔁 Swap $TON for $stTON
💧 Provide liquidity
Liquid staking on the @toncoin is now even more affordable!
Swaphere
#DeFi#bemo#liquidstaking
🔁 Обменивайте $TON на $stTON
💧 Предоставляйте ликвидность
Ликвидный стейкинг @toncoin_rus теперь стал еще доступнее!
Обменять можноздесь
#bemo#liquidstaking#DeFi
🎁Rewards from TON Events for BroBotContests!
Another contest from BroBot with the participation of partners has ended 💥 EVAA and Bemo! All prizes were sent to participants who completed the tasks!
Rewards of 1 $TON sent to:
UQDFzKFGNu9JjLQfAHNmcDg62NTFqq5moV5vLqdf3R8JVqGy
UQD5Jolha3j7_R8ugK8iHTkHDkn8-4AuaiWP0D_4Rw8Gopqu
UQA7G7ZqLvzP1R_q8TnWffyaTHKl8KGQ-v4zh9g6W3bsc3rF
UQA6lwBHvUMcD3n_D8QumuyzQQyZk_7bfYUJlMphVCJSW31K
UQDwC7A2FKAXSMPE8uRhMUmZ9sAe1laXEJwAS0xbkz60CLD5
UQDU6VTwZnCspEjQ9IPOsm5nO_GeACWFAOnvmjY44fx0aht8
UQCbm5QRULBCX5Ee9InkjTcjo9MSyvJasN-iK4mJz5vyP0U6
UQCJ2OZ6kNFXvPpb4wnXX8RU6KVv4R_F_10YAbgRC7-S9pVq
UQCgWfyxHL7p9nLuA4xfGEBNOr6nmE7q8RORvbs5IbHIZz2N
UQDfgzmjG2uFiU1BAFQyQ_mNtZLRVkkYhcGKFsFJRSWo5rYW
UQDQEi3YXHZ8fRs1RPHz5egKJRojKZzL93C6HBs-i-y8FEkc
UQDukQUY0vVhG0nTT9_n4tTB5nl0QBP07oS4dqjyoURFsJ8j
UQDr8VTd5Q54WXuGt6utwn6WoERJxSa3olGGqqnfsThDAZoP
#BroBot#EVAA#Bemo#TonEvents
🎁Giveaway from TON Events and BroBot. 3 days left!
The contest in BroBot is coming to an end with the participation of💥EVAA and Bemo with a huge prize fund and a small number of participants 🤫
How to get a prize from BroBot:
🟨Let's go to the bot
🟨 Connect your wallet (MyTonWallet or Tonkeeper)
🟨 Pass the daily captcha (at least 3 times)
🟨 Stake 1 TON on Bemo
🟨 We add 1 stTON to EVAA to the supply
How to receive a prize from us:
🟨 Share a story on your profile
🟨 Send to our chat a screenshot of completed task No. 4 from BroBot and your wallet.
🟨 Receive 1 $TON from us to your wallet after the end of the contest
3 days left!🔥
#BroBot#EVAA#Bemo#TonEvents
Три главных преимущества ликвидного стейкинга
Ликвидный стейкинг является важной составляющей любого PoS-блокчейна. Протокол стимулирует развитие DeFi и повышает доходность пользователей.
Стейкинг для всех
Ликвидный стейкинг позволяет любому пользователю принять участие в валидации сети. Для этого не нужно обладать большим количеством токенов или быть технически подкованным, что обычно требуется для традиционного стейкинга. Все эти сложности берет на себя приложение ликвидного стейкинга.
Ликвидность
При традиционном стейкинге токены пользователя замораживаются и не могут быть использованы.
Ликвидный стейкинг решает эту проблему. Пользователь получает токены ликвидного стейкинга, которые можно использовать как обычные. Когда ваши токены участвуют в стейкинге, вы можете осуществлять транзакции и использовать свои активы в других DeFi-приложениях.
Возможности заработка
Протокол не только высвобождает ликвидность. Пользователи могут использовать токены ликвидного стейкинга в приложениях DeFi. Это означает, что вы не только получаете доход от участия в стейкинге, но и можете генерировать дополнительный доход.
#bemo#DeFi#liquid_staking
bemo запускает телеграм канал на английском
С ростом популярности протокола стала очевидна необходимость в англоязычном телеграм-канале bemo, в котором вы найдете последние официальные новости о проекте.
Подписывайтесь и следите за обновлениями!
Напоминаем о наших официальных ресурсах: web, app & twitter.
#liquid_staking#bemo#DeFi