Что делать если нужно поставить какую-то 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
🇦🇿🇺🇿 В Ташкенте завершились учения «Мяхарят-2025» с участием военнослужащих азербайджанской армии. В соответствии со сценарием учений были проведены мероприятия по планированию специальной операции в целях поиска, локализации и нейтрализации незаконных вооруженных формирований, выполнены практические действия с использованием программного обеспечения для моделирования и симуляции (Минобороны Азербайджана).
В Ташкенте проходят командно-штабные учения с участием Азербайджана и Узбекистана
#Узбекистан#тюрки@turkicfront88#turan
🇮🇷🇺🇲Пентагон: перемирие - это уловка
Председатель Объединённого комитета начальников штабов США Дэн Кейн процитировал министра войны США Пита Хегсета:
"Скажем открыто, перемирие — это всего лишь небольшая пауза. Все силы готовы к масштабному отзыву в случае необходимости"
Иранские власти ни в коем случае не должны верить коалиции Эпштейна - ни устным, ни письменным договорам. Израиль и его союзники никогда не оставят Иран в покое, они используют эту паузу, чтобы зализать раны, перегруппироваться, восстановить базы снабжения и подготовиться к нанесению ещё более мощных ударов по мирной инфраструктуре и гражданскому населению.
✅Поддержать Туранский экспресс
#США#Израиль#Иран#turan
🇬🇪Наш канал на грузинском языке
🇺🇿Наш канал на узбекском языке
🇦🇿Наш канал на азербайджанском языке
Производство бронетехники OTOKAR будет осуществляться в Казахстане.
🔸Президент Казахстана Токаев посетил завод в Бескару, где производятся гусеничные и колесные бронированные машины. 🔸Завод, годовая производственная мощность которого составляет до 200 бронированных машин, также будет выпускать TULPAR ZMA и ALPAR İKA. Ps это хорошая новость для всех тюрков усиление армии Казахстана это просто шаг к тому что новой стратегии развития армии туран в такие непростые времена как щас измение мира #тюрки@turkicfront88#Казахстан#Турция#оружие#turan
❤️🇯🇵 Четвертая экономика мира Япония заявила о вступления в Организацию Тюркских государств
Ps. Это все только начало строительство турана
#ОТГ#Япония
#Turan#тюрки@turkicfront88
С Японией нужно максимально сближаться, народ у которого есть чему по учиться а с другой стороны дальние родственники. Japan 🇯🇵 in Turan 🇹🇷🇰🇿🇰🇬🇺🇿🇦🇿🇹🇲🇭🇺
#japan#turan#тюрки
@turkicfront88
🇹🇷Демографическая катастрофа в Турции.
Турецкое население вымирает ускоренными темпами. Всего за несколько лет коэффициент рождаемости в стране упал ниже уровня простого воспроизводства.
В городских сообществах сейчас на женщину в среднем приходится только 1,3-1,4 ребёнка. Курдский юго-восток хоть и сокращает рождаемость, но пока там показатель выше уровня воспроизводства (выше 2,1 ребёнка на женщину). В целом Турция демографически – это уже европейское общество.
Интересно отметить, что попытка возрождения консерватизма (и частично возрождения исламской морали) Эрдоганом в части демографии провалилась.
Это урок и для России: насаждение консерватизма в области демографии тоже не удастся. Городская модернизация идёт только в одном направлении. Кстати, примерно в этот же период подобное падение произошло в большинстве стран Ближнего Востока.
К следующему году, как ожидается, только в трёх из 81 провинций (Урфа, Мардин, Ширнак) уровень воспроизводства сохранится на уровне 2 и выше. К 2026-2027 годам регионов с достаточным уровнем рождаемости не останется вообще.
#Турция#семья#turan
@turan_express
🇮🇷🇺🇲Иран нанес удар по авиабазе США в ОАЭ
Американцы опубликовали фото последствий вчерашнего прилёта по американской базе Аль-Дафра в ОАЭ, на которой размещался комплекс ПВО Patriot.
Как видно, уничтожен ангар с вспомогательной техникой, находившиеся на обслуживании в момент удара бронеавтомобили HMMWV и тягачи Oshkosh M983.
Были повреждены многочисленные объекты военной инфраструктуры, в том числе радар раннего предупреждения AN/TPY-2, стоимость которого оценивается примерно в 500 миллионов долларов США, ангары для размещения беспилотников MQ-9 Reaper и объекты, где размещаются разведывательные самолеты, имеющие решающее значение для разведывательных операций США на Ближнем Востоке.
Более того, как сообщают иранские власти, на той же базе беспилотник Корпуса стражей исламской революции уничтожил разведывательный самолёт U-2.
Таким образом, общий итог потерь США с начала войны против Ирана: 8 самолётов F-15, 1 самолёт U-2, 38 беспилотников Hermes-900, 1 беспилотник Heron и 6 беспилотников MQ-9.
По традиции, Министерство войны США засекретило все данные о своих военнослужащих, которые были уничтожены в ходе ответных ударов Ирана.
✅Поддержать Туранский экспресс
#сионизм#потери#США#Иран#turan
🇬🇪Наш канал на грузинском языке
🇺🇿Наш канал на узбекском языке
🇦🇿Наш канал на азербайджанском языке
🇺🇲🇮🇱Турецкие источники заявляют о значительных потерях США
По данным турецких СМИ, в результате иранских ответных ударов по базам США в Кувейте и ОАЭ было уничтожено не менее 113 американских военнослужащих, что значительно превышает официальные данные министерства войны США.
Также по данным турков, имеющих надёжных информаторов в регионе, около 200 военнослужащих США было ранено. Для сравнения, они приводят цифру израильских потерь - четверо военнослужащих и двое лиц гражданского персонала.
✅Поддержать Туранский экспресс
#сионизм#потери#США#Иран#turan
🇬🇪Наш канал на грузинском языке
🇺🇿Наш канал на узбекском языке
🇦🇿Наш канал на азербайджанском языке
🇬🇪🇦🇿Активистка Самира Байрамова опубликовала кадры с мужчиной, который ранее угрожал азербайджанцу пистолетом за незнание грузинского и затем спокойно общался с полицейскими.
«Очевидно, в стране разворачивается провокация на этнической почве. Обратите внимание на эти кадры, а также на дружелюбную реакцию полиции в отношении агрессора», — отметила Байрамова.
#тюрки@turkicfront88#turan#Грузия#карапахиазербайджанцы
🇮🇱Израиль принял закон, разрешающий смертную казнь палестинцев
Министр нацбезопасности Израиля Итамар Бен-Гвир со своими соучастниками по партии «Оцма Йегудит» (фракция «Ха-Цийонут ха-Датит») брызжет от восторга слюной по поводу принятия поданного им законопроекта, позволяющего вешать палестинцев, которых сионисты объявят террористами.
В 90-х этот этот жирный нацистский ублюдок был молодежным координатором сионистской террористической партии Ках, которую запретили даже в Израиле. Из-за этого его не взяли в ЦАХАЛ. Перед убийством Ицхака Рабина он появился на телевидении, размахивая эмблемой «Кадиллак», сорванной с машины Рабина, и заявил: «Мы добрались до его машины, и до него мы тоже доберёмся». На стене у Бен-Гвира висела фотография Гольдштейна, убившего 29 мусульман в Пещере Патриархов в 1994 году. В 2007 осужден за расизм и поддержку террористической организации. В 2025 году попал под санкции ряда стран за подстрекательство к насилию против палестинцев.
Сионистский геноцид набирает обороты.
✅Поддержать Туранский экспресс
#сионизм#потери#США#Израиль#Иран#turan
🇬🇪Наш канал на грузинском языке
🇺🇿Наш канал на узбекском языке
🇦🇿Наш канал на азербайджанском языке