Что делать если нужно поставить какую-то 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
Музыкальные новости Латинской Америки
1️⃣ Farruko и Eddy Lover — Ay Dale
Farruko и панамский артист Eddy Lover представили совместный сингл Ay Dale. Трек сочетает гипнотический регги, реггетон и прибрежную перкуссию, создавая динамичное и танцевальное звучание.
Песня рассказывает об игре соблазна — флирте, намёках и эмоциях без обещанного продолжения. Записанный в Панаме трек подчёркивает свободу самовыражения и универсальность латиноамериканской музыки.
Релиз вышел на фоне номинации Farruko на Premio Lo Nuestro за хит Cables Cruzados.
2️⃣ Arcángel — альбом La 8va Maravilla
Arcángel выпустил альбом La 8va Maravilla, посвящённый личному перерождению и 20-летию карьеры.
Пластинка из 20 треков наполнена размышлениями о времени, утрате, зрелости и внутреннем росте. Среди гостей — Ricky Martin, Daddy Yankee, Sech, Beéle, Grupo Firme и сын артиста Austin San.
Альбом стал отражением сложного жизненного этапа: проблем со здоровьем, потерь в семье и переосмысления ценностей.
3️⃣ Manuel Turizo — Por Un Pendejo No Se Llora
Manuel Turizo выпустил новый сингл Por Un Pendejo No Se Llora— бочату о расставании, самоуважении и умении отпустить прошлое.
Трек звучит как поддержка для тех, кто переживает разрыв: меньше драмы, больше любви к себе и движения вперёд.
4️⃣ Yandel & Latin Mafia — Como Es Que Se Hace
Yandel объединился с мексиканской инди-группой Latin Mafia в треке Como Es Que Se Hace.
Композиция уходит от привычного реггетона и смешивает hip-hop, R&B и indie pop с цепляющими мелодиями. Песня войдёт в новый студийный альбом Yandel — Infinito.
#Yandel#МузыкаЛАТАМ#Arcángel#La8vaMaravilla#Farruko#AyDale#ManuelTurizo#Bachata#LatinPop
👉Всегда свежие новости о странах Латинской Америки
Понедельник начинаем с танца☺️
Как вам наш новый танцевальный дуэт и творческая коллаборация с Иосифом?
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт
Пятницу традиционно встречаем с танцами!💃🕺🏼👏
Хороших всем выходных и отличного настроения!❤️❤️❤️
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт
Романтической Вам пятницы и прекрасных выходных, друзья!❤️
По уже сложившейся традиции дарим Вам в эту пятницу новый танец! 💃🕺🏼🔥
#dance#dancer#trending#танцы#dancetrends#bachata#бачата#бачатамосква#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт
С пятницей друзья!😉
Давно не было бачаты. Исправляемся!
Ловите чувственную городскую бачату.💃🕺🏼🏙️
Ждём ваши реакции и комментарии в поддержку нового танцевального дуэта с Владом!🤗❤️
#dance#dancer#trending#танцы#dancetrends#bachata#бачата#бачатамосква#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт
Понедельник - день тяжёлый?😱
Неее. Не слышали!🤪 Улыбаемся и пляшем!💃😉
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#понедельник#понедельникденьхороший
Врываемся в эту пятницу чувственной бачатой в новом танцевальном дуэте с Фиделем💃🕺🏼🔥
Ждём ваши сердечки и комментарии.❤️ Чем больше наберём, тем чаще будем радовать Вас новыми видео. Мы приготовили для Вас много красивых, огненных рилсов. Следите за новостями!😉
#dance#dancer#trending#танцы#dancetrends#bachata#бачата#бачатамосква#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт#худи
Упс! В конце кому-то было бо-бо!🤭
P.S. Друзья, отличной всем пятницы и прекрасных выходных!😘
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт#выходные#пяница#непара
Хотите танцевать не только "для себя", но и участвовать на соревнованиях, фестивалях и шоу??!
▪️
Такую возможность Мы готовы Вам предоставить 😌
*
Наши прекрасные девочки из группы CONTEMPORARY уже начали готовиться к фестивалю КЛИН В ТАНЦАХ при поддержке проекта ТАНЦЫ НА ТНТ.
▪️
Хотите оказаться в числе участников? Добро пожаловать к нам 😇
Ждём Всех желающих на пробное бесплатное занятие✨
Возраст: от 13 лет и старше
Запись в сообщения группы или по номеру:
8-916-737-84-26
▪️
МЫ В ТАНЦАХ? А ВЫ? 🤫
#постановкатанцев#постановкатанцеввклину#свадебныйтанецклин#танцывклину#клинтанцует#клинтанцы
#студиятанца#dancestudio#salsa#bachata#ballroom#сальса#бачата#сальсаклин#бачатаклин#спортивныебальныетанцы