Что делать если нужно поставить какую-то 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
⚡️Сбер представил новую систему синтеза речи для ГигаЧата — в одной модели используются сразу несколько разных уникальных голосов под разные задачи
Обновление позволяет генерировать речь в различных манерах — от естественного Freespeech для общения до подкастного формата, интонаций операторов и традиционного дикторского стиля. Звучание стало более органичным и приближенным к человеческому.
Что умеет новый синтез:
- для разных кейсов применения синтеза сделаны отдельные голоса
воспроизводит паузы, смысловые акценты и эмоциональную окраску
- построен на собственной разработке: GigaChat 3b как основа, специализированный токенизатор и адаптер к LLM
- умеет озвучивать тексты бесконечной длины с учетом контекста, а также клонировать голоса
- внутренние замеры демонстрируют прогресс в качестве и натуральности звука
Зачем это нужно:
- помогает создавать более органичные голосовые интерфейсы
- оптимален для разговорных ассистентов, озвучки подкастов или аудиокниг, а также в автоматизированных колл-центрах
Основные преимущества:
- есть возможность выбора голоса, которые подходят под разные задачи
- управление стилистикой и эмоциями на естественном языке
- самый живой синтез речи, ни у Алисы, ни у OpenAI ничего похожего нет
Новый синтез уже доступен в Voice Mode Гигачата.
@ai_machinelearning_big_data
#ai#ml#speech#llm
Vosk Speech Recognition Toolkit
Vosk is an offline open source #speech#recognition toolkit. It enables speech recognition for 20+ languages and dialects - English, Indian English, German, French, Spanish, Portuguese, Chinese, Russian, Turkish, Vietnamese, Italian, Dutch, Catalan, Arabic, Greek, Farsi, Filipino, Ukrainian, Kazakh, Swedish, Japanese, Esperanto, Hindi, Czech. More to come.
Vosk models are small (50 Mb) but provide continuous large vocabulary transcription, zero-latency response with streaming API, reconfigurable vocabulary and speaker identification.
Speech recognition bindings implemented for various programming languages like Python, Java, Node.JS, C#, C++ and others.
Vosk supplies speech recognition for chatbots, smart home appliances, virtual assistants. It can also create subtitles for movies, transcription for lectures and interviews.
Vosk scales from small devices like Raspberry Pi or Android smartphone to big clusters.
https://t.me/speech_recognition
https://alphacephei.com/vosk
https://github.com/alphacep/vosk-api
🇺🇿Biznes va tadbirkorlik oliy maktabi va 🇰🇷KoreyaningAdju universiteti hamkorligida “MBA-IT biznes” yo‘nalishi bo‘yicha 🎓magistratura mutaxassisligi tinglovchilari uchun Adju universiteti xalqaro tadqiqotlar oliy maktabi (GSIS) 👨🏫 dekani Byeong Yun Chang nutq so‘zladi.
Для слушателей совместной 🎓магистерской программы 🇺🇿Высшей школы бизнеса и предпринимательства и 🇰🇷УниверситетаАджу по специальности «MBA-IT biznes» выступил с речью 👨🏫 декан Высшей школы международных исследований (GSIS) университета Аджу Бйонг Юн Чанг.
#GraduateSchool#Masterclass#Speech#Itbusiness
Web-site | Telegram | Facebook |Instagram
An escalator stopped in front of Trump at the UN building 🛑🛗. Trump later devoted almost half of his speech at the UN 🏛🎤 to complaining about this escalator 🤦♂️.
#trump#escalator#speech
👂More on Trump's Ear ⚠️
🚀 Mojtaba Khamenei to Address Recent War Situation Amid Mourning Period
Mojtaba Khamenei is anticipated to deliver a speech regarding the current war situation. According to NS3.AI, the address will coincide with the 40th day of mourning for a deceased high-ranking revolutionary figure, as reported by Tasnim News Agency.
#MojtabaKhamenei#WarSituation#MourningPeriod#TasnimNews#NS3AI#Iran#Speech
WhisperTux
Simple #voice#dictation application for #Linux. Uses whisper.cpp for offline speech-to-text transcription. No fancy GPUs are required although whisper.cpp is capable of using them if available. Once your speech is transcribed, it is sent to a ydotool daemon that will write the text into the focused application.
Features
Local speech-to-text processing via whisper.cpp (no cloud dependencies)
No expensive hardware required (works well on a plain x86 laptop with AVX instructions)
Global keyboard shortcuts for system-wide operation
Automatic text injection into focused applications
Configurable whisper models and shortcuts
https://github.com/cjams/whispertux
#assistant#speech#stt