Что делать если нужно поставить какую-то 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
Помнишь нейросеть Reve, которая отлично отрабатывала русскую эстетику — медведи, балалайки, хрущёвки, панельки? Так вот, они выкатили апдейт. Возможно, это очередной потенциальный соперник «бананы», но пока утверждать не берусь — нужно тестить.
Видео выглядит эффектно и явно скрывает интересные фишки. Видно, что есть механики с выделением, что-то в духе draw-to-edit. Если придумают реально инновационный подход — не постесняюсь стянуть себе в приложение, ха-ха.
Плюс обещают API, а если проект «выиграет гонку редактирующих нейронок», то можно будет интегрировать и в собственный софт. В целом — очень любопытная история.
👉reve.art
😂 Тестим, показываем результаты в комментах, ты мне реально помогаешь этим! Чем больше тестов тем четче вывод по нейронке на канале)🖖
#reve | AcidCrunch
🖼 Rеve — это про то, когда уже ничего нового не ждёшь от генерации изображений, а оно всё равно удивляет.
Немного о волшебстве под капотом (наблюдения частично проверены нами, частично коллегами):
🟤 Ослабленная цензура — Rеve пока не боится крови, жути и даже девушек в нижнем белье. 😂 А вот совсем топлес — не-а. За слова не ругает, но картинки выдаёт в размытии, либо совсем "плоско".
🟤 Советская эстетика и "наш вайб" — чутко ощущает атмосферу ДК, панелек, гаражей и дачного трэша.
🟤 Фотореализм и эмоции — типажи нестандартные, позы естественные и живые, группы персонажей не сливаются в одно лицо, эстетика замечательная. Иногда путается с пальцами и глазами, и это окей.
🟤 Знаменитости, бренды и логотипы — узнаёт, рисует, молодец!
Бесплатные баллы на генерации прилетают каждый день, а если затянет — есть подписка по вменяемой цене.
👍 Картинки немного детализировали в Leonardo.
#reve#leonardo
🧐 Провела эксперимент:
«Нейрогенерации за 5 минут»
🔅1️⃣ Идём в ⚛️ChatGPT и пишем ему это задание:
Привет! Помоги придумать 10 промтов для тестирования разных нейросетей по созданию изображений.
⚜️ Требования к промтам:
1️⃣ Каждый промт должен быть подробным и цельным описанием сцены в стиле визуального сторителлинга.
2️⃣ Включать:
🔘 персонажа (человек, внешний вид, эмоции, одежда, бренд),
🔘 окружение и атмосферу (локация, детали фона, время суток, погодные условия),
🔘 угол съёмки, композицию, тип камеры, объектив или плёнку,
🔘 свет (тип освещения, цветовая палитра),
🔘 художественные эффекты (grain, lens flare, bokeh и т.п., если уместно).
3️⃣ Каждый из 10 промтов должен содержать уникальные параметры (разные ракурсы, локации, свет, стиль одежды и бренды, атмосферу и пр.).
4️⃣ Все промты в эстетике fashion и lifestyle, с упором на фотореализм и ощущение настоящей фотографии (никакой иллюстрации, 3D, анимации и пр.).
5️⃣ Структура промта: единый художественный абзац, без списков, но с полной детализацией сцены.
🤖 Задача: придумай 10 таких промтов с уникальными параметрами, чтобы я мог использовать их для теста нейросетей вроде: Midjourney, FLUX, Imagen 4, Reve, Sora. Каждый промт пиши на двух языках: русском и английском.
🔅2️⃣ Берём полученные промты и пробиваем их по очереди в любимой нейросети.
Для поста я выбрала Reve (дополнительно можно включить функцию улучшенной доработки промта).
🔅3️⃣ Скачиваем картинки и выкладываем пост в Telegram-канал.
🎉 Всё! Вы восхитительны!
Собираем лайки, восторженные комментарии и продаём курсы: "Как генерировать за секунду и зарабатывать миллионы с нейорсетями"
🫢
А если серьёзно — это классное упражнение, чтобы прокачать насмотренность: учиться прописывать разные ракурсы, типажи, настройки камеры и композиционные решения (см. пункт 2 шага 1).
☝️ Все генерации — с первой попытки и без доработок.
Бесплатных кредитов Reve хватило на 2 круга промтов от ChatGPT — это 20 разноплановых картинок.
🔅🔅🔅🔅🔅🔅
⭐️👍💚🔖💬⏳
#практикаИИ#chatgpt#reve