Что делать если нужно поставить какую-то 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
Крипто рынку сегодня плохо.
Токен игры #PIRATE за последнюю неделю скаманул на -50%, я в них верил, очень долго ходлил, игра интересная у них и развивается активно очень. Но видимо решили они вытрясти токены у таких холдеров как я.
#PIRATE хорошая точка входа. Игра Pirate Nation у них люто развивается. Токен утилити.
По графику:
🔘бычий клин
🔘растущие объемы
🔘по Фибоначчи потенциал роста минимум х3
🔘уже длительная консолидация цены в районе 0.15-0.2$
Купить можно на ByBit.
Либо свапнуть в сети #ETH на Uniswap.
Trending Apps: Pirate Parrots Game Overview
#Gaming#Pirate
Pirate Parrots transforms traditional gameplay by letting players become feathered captains piloting their ship across dangerous seas. The game involves strategic trading, evading rival pirates, and seizing treasure to expand influence and upgrade ships. This unique approach turns trading into an adventurous challenge.
Source: link
@tonlines
#PIRATE#piratenation
Хочу рассказать об игре, которая является реальным гемом.
Гем в криптовалюте — это токен, который показал или покажет взрывной рост. В переводе с английского, gem — это кристалл, так что токены, которые так называют, считаются редкостью среди других криптовалют.
Так вот, игра называется "Pirate Nation".
Я поиграл в нее несколько недель и вот, что хочу сказать.
Во первых она интересная. Во вторых в ней можно реально зарабатывать от нескольких сотен долларов до десятков тысяч долларов! Я не шучу. В первом сезоне игроки получили очень жирный дроп от разрабов, подробнее читай в моей статье.
В игру можно играть только с ПК и зарегистрироваться можно только по пригласительной ссылке или коду.
Мой пригласительный код: P-vast-deck-6415 (максимум 25 человек сможет зарегистрироваться)
Моя ссылка:https://piratenation.game/signup?code=P-vast-deck-6415
Чтобы получить эту ссылку мне нужно было каждый день играть в течение 2-х недель.
P.S. Читайте статью, там детальный разбор. Для игры нужен хороший VPN, в статье также указал какой использую я.
Почему последние дни мало пишу в этот канал?
Пока у меня особо нет сделок. Жду 2 октября, когда закончится коридор затмений, поскольку в это время чаще всего принимаю неправильные решения. Уже по опыту говорю.
На споте у меня лежит в долгосрок:
🔸#DYDX купленный на самом дне по 0.85$
🔸#PIRATE в стейкинге - это токены игры Pirate Nation, о которой я рассказывал тут. Рассчитываю получить хороший дроп за 2 сезон. Поэтому стекаю токен.
🔸#DEGEN - просто нравится название
😁
🔸#ETH - есть немного.
Также продолжаю тестировать робота, пока мне все нравится. Статистикой поделюсь, когда пройдет месяц - 16 октября.
Че по таполкам?
Ничего не тапаю, кроме:
🔸Time TON - у меня тут 4500+ рефералов, поэтому захожу иногда, прокачиваю акк, вдруг раздадут дроп.
🔸Blum - ждем их декс биржу в телеге, но че то затягивается все. Возможно их конкурент Electra сделает это быстрее.
🔸ALFA GAME - прокачиваю мозг 🧠 на тренажерах. Кто не знал, это моя игрушка, вкладываю в нее свою душу, реализую в ней свои идеи. Хочу сделать из этой игры образовательный проект 🤠
Остальные тапалки скипаю, либо заглядываю один раз, ради любопытства, чтобы подсмотреть какие-то новые идеи, функции для своей игрухи.