Что делать если нужно поставить какую-то 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
Понедельник начинаем с танца☺️
Как вам наш новый танцевальный дуэт и творческая коллаборация с Иосифом?
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт
Пятницу традиционно встречаем с танцами!💃🕺🏼👏
Хороших всем выходных и отличного настроения!❤️❤️❤️
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт
В следующий раз, когда ты опять решишь, что твое настроение зависит от кого-то, ты вспомни эти слова!🥰
Твое вдохновение, мотивация, настрой, твои эмоции, твои слова - это только ты сам(а). Тебя нельзя обидеть, но ты можешь обидеться сам(а). Тебя нельзя расстроить, это лишь твой выбор расстраиваться или нет. Не подарил цветы, опоздал(а) на встречу, не звонит - это не повод для депрессии, закрываться в комнате, утирая слезы перед телевизором, заедая чем-нибудь вредным. Потрать время на себя, на спорт, книги, прогулки на свежем воздухе, обучение, здоровье, красоту, на подруг/друзей. Порадуйся! Цени своё сбодное время, ведь это дар, недоступный для больше части работающих и гипер занятых людей. ⠀ Не живи ожиданиями. Это - путь в никуда. Не переноси ответственность за свое состояние на своих парня/девушку/мужа/жену/родителей/брата/сестру/детей. Ты - это твое ощущения себя в пространстве. Ты сам(а) выбираешь плакать, корить себя и других или радоваться и улыбаться. Это всегда про твое самоопределение! ⠀
Задай себе вопрос прямо сейчас! А какое настроение я выберу для себя сейчас? А хочу ли я, чтобы мое настроение зависело от кого-то, кроме меня?
Надевай улыбку, танцуй, радуйся и лети в новый изумительный день! Ты его только что выбрал(а)!❤️🫶
#dance#dancer#trending#танцы#dancetrends#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт#счастье
Скоро Новый год? Неее не слышали! У нас в душе лето!😂☀️
#dance#dancer#trending#танцы#dancetrends#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт#выходные#лето#новыйгод
Понедельник - день тяжёлый?😱
Неее. Не слышали!🤪 Улыбаемся и пляшем!💃😉
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#понедельник#понедельникденьхороший
Упс! В конце кому-то было бо-бо!🤭
P.S. Друзья, отличной всем пятницы и прекрасных выходных!😘
#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт#выходные#пяница#непара
С 1 апреля! ☺️❤️
1 апреля - это не только Международный День Смеха, который отмечается во многих странах!😀 А ещё и день рождения 1 канала, любимый телеканал отмечает 30-летний юбилей, с чем я его от души поздравляю!🎉
А ещё 1 апреля 2025 года знаменателем тем, что растущая Луна переходит в знак Близнецов - время ярких идей и легкого общения. Люди становятся более открытыми, любопытными и подвижными. Захочется много общаться, узнавать новое и пробовать необычное. Именно в этот период легко завязываются знакомства и появляются интересные идеи. Кстати, творческим людям стоит поймать волну вдохновения: эксперименты, новые проекты или смелые задумки могут неожиданно принести успех. Также можно заняться поиском новых хобби или записаться на курсы, лекции, мастер-классы и конечно же кто хотел начать танцевать, то это самое подходящее время!
Дорогие друзья, давайте отложим дела и станцуем вместе прямо сейчас!💃🕺🏼🥰
#1апреля#деньсмеха#1канал#dance#dancer#trending#танцы#dancetrends#bachata#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#jive#джайв
Когда встретились две подруги: одна нормальная, вторая со странностями🤣
Кто из них них какая, решать Вам!😉
#подруги#прикол#смешноевидео#танцы#dance#хит#тренд#тренды#танцевальныйтренд#dancetrends#tiktoktrend#музыкальныйхит#музыкальныйтрек#певица#звезды#женямалахова
Залетаем с новым трендом под новый хит!🔥
Женя Малахова, бывшая солистка группы “Reflex”, успешно начала сольную карьеру и вырвалась в ТОП-лист со своим треком «Потому что не было тебя»!👏
Со своей стороны я, вдохновившись песней, придумала хореографию под новый трек. Так что танцуем вместе с нами и конечно делимся своими видео!💃💃🫶
#хит#новыйтрек#трек#песня#музыка#тренд#тренды#танцевальныйтренд#dancetrends#tiktoktrend#музыкальныйхит#музыкальныйтрек#певица#звезды#женямалахова#потомучтонебылотебя
Если что, то это не мы растопили 🔥Патриаршие.🤭
Но тренд «Russian Girls» мы просто не смогли пропустить. Как Вам образы?🙃
#патрики#патриаршие#патриаршиепруды#russiangirls#dance#dancer#trending#танцы#dancetrends#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт#выходные#зима#новыйгод
Что может быть тяжелее понедельника? Конечно же первый рабочий день после новогодних праздников!🤪🤭
Но не унываем! Заряжаемся кофе, улыбкой и конечно же танцуем с нами макарену!😉💃🕺🏼
#dance#dancer#trending#танцы#dancetrends#tiktoktrend#tiktoktrends#танцевальныйтренд#цветтанцакрасный#тренд#danceблогер#danceblogger#танцевальныйдуэт#выходные#лето#новыйгод#понедельник#понедельникденьтяжелый#макарена#makarena