Что делать если нужно поставить какую-то 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
¿Sabias que?
Hora nuestro grupo de soporte cuenta con un comando único llamado #bots en el cual podrás consultar mediante botones de navegación todo un menú con varios bots clasificados por categoría.
Este comando bien lo puedes enviar al grupo como mensaje y luego esperar la respuesta de Rose 🌹 nuestro bot admin o puedes pulsar también sobre el mismo botón si ya otro miembro envió antes el comando.
PD: El comando es si es una gran base de datos pero con bots 100% funcionales se está trabajando en mejorarla y aumentarla poco a poco para lograr que tengas todo lo que buscas al alcance de tus manos.
¡Que esperas! ¡Vamos inténtalo!
BotFather Is Now Available as a Mini App
Bot owners can now manage their bots through a dedicated Mini App: t.me/BotFather?startapp.
The web interface provides access to all features, including creating new bots and editing existing ones.
#bots
#bots#Python
🤖
Curso de creación de bots de Telegram con Python
📢 #YouTube
🔗Link
🔑@repo_science
⭐Curso muy recomendado
Les dejé el enlace al canal de YouTube desde donde se descargó.
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
░⃟───────────────────░⃟
- nuevo post !
Lo prometido es deuda y creo que fijaré los sábados como el día de post jsjsjs . Hoy les presentaré un bot poderosisimo de telegram , sus funciones y un tutorial rápido de cómo usarlo . Básicamente es un conversor de archivos y me ha salvado de unos cuantos apuros sinceramente. Sin más que decir , los dejo con el post .
ATTE. PECAS05
🌂: @Apuntes_Digitales╏#botS ; #TIPS
░⃟───────────────────░⃟
В последнее время много работаю с Veo3 — скажу честно, не питаю к ней особой любви, но может она многое.
Я не очень хорош в кодерских приколах и JSON-форматах, поэтому пришлось прошерстить интернет и сделать бота, который будет делать это за меня.
Держи ссылку — бот гибкий и заточен под русских.
Можешь кинуть ему картинку и текст, расписав чего хочешь — бот оценит кинематографический потенциал и выдаст два варианта промта под твою задачу:
1. Текстовый промт — так, будто его писал человек: без суперподробностей, но с хорошей структурой.
2. JSON-формат, который необходим в некоторых случаях.
Так что же лучше и что выбрать — 1 или 2?
Первый вариант подойдёт тем, кому нужно творчество от машины без каких-либо жёстких рамок.
Второй — тем, кто хочет контролировать сцену до мельчайших деталей. Он также отлично подходит для создания нескольких сцен в одной генерации сразу.
#bots#veo3 | AcidCrunch
¿Dónde quedó el apoyo? 🤡
🔴 A #SamuelGarcía se le olvidó que sus millones de #bots en redes no pueden asistir a los eventos 🤖🔥😂
https://sinlineamx.com/abuchean-samuel-garcia-asamblea-anual-caintra/
Ну что, сегодня меня дико бомбануло из-за очередного спам-сообщения в канале, и я принял волевое решение: пора писать своего антиспам-бота. Порывшись в интернете, нашёл обучающий ролик по платформе, о которой последнее время часто слышу.
В итоге полдня ушло на создание бота — и у меня получилось!
Делюсь видео, по которому всё делал: вдруг и тебе пригодится.
Делался бот на бесплатной LLM Mistral с помощью API ключа через платформу N8N.
Сам бы, честно, не осилил — слишком всё «по-программистски», но опыт оказался реально годным. Если любишь такую задротскую фигню — welcome!
😺
Обучающий видос
#spam#bots | AcidCrunch