Что делать если нужно поставить какую-то 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
⚠️Мысли на счёт 5 августа, объем торговли криптовалютами в мире взлетел выше 200 миллиардов долларов. 6 августа этот показатель составил 148,26 миллиарда долларов. На Binance за сутки приток средств составил 1,2 миллиарда долларов.
Генеральный директор Binance, Ричард Тен, сказал, что это один из самых больших притоков за 2024 год. По данным Arkham Intelligence, Binance сейчас держит криптоактивы на сумму 102 миллиарда долларов, что делает ее главной биржей по объему торгов и резервам. Из этих 102 миллиардов, 37,49 миллиарда приходится на биткоин, 25,31 миллиарда на tether и 11,43 миллиарда на ethereum (ETH). Хотя рынок немного просел за последние несколько часов, это может означать, что инвесторы уверены и ждут возможности купить по низкой цене.
Сейчас цены на основные токены восстанавливаются, а вчера и позавчера был день с самым высоким объемом торгов в 2024 году.
Интересно, кого на рынке сейчас больше — продавцов или покупателей? Судя по статистике, на Binance заходили доллары, значит, многие решили скупать активы по низкой цене. Они делали это весь день 5 августа, и сегодня рынок начал подниматься.Похоже, что дефицита биткоинов нет, и старое правило рынка работает: "На рынке два дурака — один покупает, другой продает." В долгосрочной перспективе выигрывают только те, кто держит активы (HODL).
#bitcoin#btc#cripta
Пусть кто-то скажет, что это не альтсезон. Уже неоднократно писал, что с битка переливают активы в альту. Но этот процесс растянут во времени и волотильности. Когда они поймут, что нужно покупать - уже будет очень поздно...
#usdt#cripta#altcoins
Сейчас биткоин упёрся в сильный уровень, отмечен красной линией.
Пока ожидаю движение в канале, отмечен синим. Движение пока не определенно...
По итогам выхода из канала, будет понятен среднесрочный тренд...
#cripta#bitcoin#btc#Теханализ
Вся криптовалюта за выходные, хорошо от росла.
Как и предполагал в последнем посте. Так как, был накоплен приличный объём ликвидности.
Но сейчас биткоин подошёл к 70 тысячам, а это психологический уровень сопротивления.
#Bitcoin#btc#cripta#altcoins
💸Биткоин уже несколько дней тестирует уровень поддержки, при этом накапливая объемы.
Также некоторые альткоины растут в геометрической прогрессии.
Ниже 58000 уже нет практически никакой ликвидности. Вся ликвидность собрана в диапазоне 68-72000. Поэтому цена в любом случае сходит за ликвидностью к данным значениям.
#altcoins#btc#cripta#АнализРынка
🔔График годовых свечей по BTC, где указаны проценты роста/снижение цены.
Лучший показатель в средне и долгосрочной перспективе.
Вот и думайте, какой потенциал роста. Пища для ума...
#cripta#altcoins#btc#bitcoin#КриптоНовости
🟢Биткоин упёрся в сильное сопротивление. Для дальнейшего роста, необходимо накопить объём.
Сейчас, наверняка будет боковое движение. С целью консолидации и дальнейшего прорыва уровня...
#btc#altcoins#cripta#bitcoin#АнализРынка
⚠️Aльткоины, 10x Research: средняя цена 115 крупнейших альткоинов упала на 50% по сравнению с максимумами этого года...
#Santiment указывает на перепроданность.
Так что, как минимум ожидается отскок.
#btc#altcoins#cripta
⚠️Судя по всему, мы закроем неделю, возможно с выходными, на уровне 52 000 -49 000 минимум.
Это будет говорить о полной проторговке импульсного движения двух месяцев.
То есть сильный импульсный рост начался с объема 49-50 000. На сегодняшний день он полностью практически проторгован.
Необходимо закрыть эту проторговку на уровне около 50 000, чтобы либо импульсно от лимитных ордеров оттолкнуться, это будет понятно по реакции котировки, либо если лимитных ордеров там уже нет, то будет формироваться несколько дней, а возможно и недель, покупательская способность, чтобы сформировать новую ликвидность.
В любом случае на уровне 50К, есть большой интерес покупателей...
#usdt#cripta#altcoins#btc#bitcoin#АнализРынка