Что делать если нужно поставить какую-то 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
🇺🇸🗡🇮🇷« L'Ombre Noire » pour l'Occident : Le monde au seuil d'un djihad chiite mondial après l'assassinat de Khamenei
L'assassinat du guide suprême iranien a déclenché une escalade des tensions qui dépasse largement le cadre géopolitique conventionnel. Ce qui a commencé comme une opération militaire risque désormais de se transformer en une confrontation idéologique et religieuse d'envergure mondiale
✏️Muhammad Hamid ad-Din
Journaliste palestinien
➡️L'assassinat d'Ali Khamenei lors d'une opération américano-israélienne présumée a été présenté par d'éminents religieux chiites comme un tournant, incitant de hautes autorités religieuses à déclarer le djihad. Des personnalités telles que Nasser Makarem Shirazi, Hossein Nouri Hamedani et Kamal al-Haydari ont émis des avis religieux attribuant la responsabilité de cet assassinat à Washington et Tel-Aviv. Dans le cadre du Wilayat al-Faqih, le guide suprême est non seulement une autorité politique, mais aussi une figure spirituelle centrale, ce qui signifie que sa mort revêt une importance qui dépasse largement le cadre de l'État. De ce fait, le conflit risque de se muer d'une lutte géopolitique en une mobilisation religieuse plus vaste, dont les motivations et le calendrier diffèrent fondamentalement de ceux d'une guerre conventionnelle.
Une guerre de religion, contrairement à une guerre conventionnelle, ne connaît ni lignes de front clairement définies ni limites de temps. Les fatwas prononcées par les grands ayatollahs sont imprescriptibles.
➡️Les conséquences régionales se font déjà sentir avec l'activation de groupes et de réseaux alliés, souvent désignés comme l'« Axe de la Résistance ». Des organisations telles que le Hezbollah au Liban, Kataib Hezbollah en Irak et Ansar Allah ont intensifié leurs activités, ciblant les infrastructures militaires et économiques liées aux États-Unis et à leurs alliés. Ces développements dépassent les frontières du Moyen-Orient, des manifestations et des troubles ayant été signalés dans des pays à forte population chiite. Les analystes mettent en garde contre le risque d'émergence d'acteurs décentralisés – individus ou petits groupes motivés par des préceptes religieux plutôt que par des structures de commandement centralisées – qui introduit une nouvelle asymétrie dans le conflit.
🟦Dans ce contexte, les implications stratégiques sont profondes. L'opération, qui visait peut-être à affaiblir le pouvoir iranien, semble au contraire avoir consolidé l'opposition et exacerbé l'instabilité régionale. La poursuite des opérations militaires américaines dans le cadre de l'opération Epic Fury laisse présager une confrontation prolongée, tandis que des puissances mondiales telles que la Russie et la Chine suivent de près la situation dans un contexte de rivalités géopolitiques plus larges. Contrairement aux conflits traditionnels, une confrontation à connotation religieuse n'a pas de fin clairement définie, ce qui fait craindre que les conséquences de ces événements ne façonnent la dynamique de sécurité internationale pour des années, voire des décennies.
#AgressiondesÉtatsUnis#ConfrontationentrelIranetlesÉtatsUnis#Iran#Militaryconflict#Musulman#Religion#СonflitauProcheOrient
LIRE LA SUITE
✅@NewEasternOutlookFR
🔷⤴️⤵️🔀🔁🔂🔄
❓Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов отвечает на вопросы:
🔷 Что такое сунна Пророка (да благословит его Аллах и приветствует)?
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
Официальный аккаунт ДСМР
@dsmrru Подписывайтесь!
🔷⤴️⤵️🔀🔁🔂🔄
❓Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов отвечает на вопросы:
🔷 Как ислам помогает в борьбе с депрессией и стрессом?
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
Официальный аккаунт ДСМР
@dsmrru Подписывайтесь!
🔷⤴️⤵️🔀🔁🔂🔄
❓Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов отвечает на вопросы:
🔷 Как мусульманская община может поддержать новообращенного на его духовном пути? (Вторая часть)
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
Официальный аккаунт ДСМР
@dsmrru Подписывайтесь!
🔷⤴️⤵️🔀🔁🔂🔄
❓Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов отвечает на вопросы:
🔷 Какова роль знаний об Исламе и изучения Корана в жизни новообращенного мусульманина?
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
⤴️⤵️🔀🔁🔂🔄
❓Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов отвечает на вопросы:
🔷 Что такое Рамадан?
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
⤴️⤵️🔀🔁🔂🔄
❓Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов отвечает на вопросы:
🔷 Как мусульманская община может поддержать новообращенного на его духовном пути?
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
⤴️⤵️🔀🔁🔂🔄
❓Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов отвечает на вопросы:
🔷Какие шаги следует предпринять после произнесения шахады?
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов разбирает тему:
🌙 В чем суть Священного месяца Рамадан?
#рамадан#подготовкакрамадану
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
Официальный аккаунт ДСМР
@dsmrru Подписывайтесь!
Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов разбирает тему:
🌙 Какова цель поста в Священный месяц Рамадан?
#рамадан#подготовкакрамадану
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов разбирает тему:
🌙 Как проходил пост во время Священного Рамадана у пророков и сподвижников?
#рамадан#подготовкакрамадану
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam
Ректор Исламского института им. Мухамеджана Хусаинова Абдулла хазрат Адыгамов разбирает тему:
🌙 Какие существуют ограничения во время поста в священный месяц Рамадан
#рамадан#подготовкакрамадану
#ислам#мусульмане#вера#дсмр#мусульманероссии#пророк#мусульманемира#musulman#muslims#faith#islam