Что делать если нужно поставить какую-то 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
🇸🇳Le Sénégal organise pour la première fois les Africa Innovation Awards
L'événement, prévu au mois de mai prochain, vise à célébrer et à promouvoir les acteurs de l'écosystème de l'innovation et du numérique sur le continent africain. Les organisateurs ont dévoilé à #Dakar le programme et les enjeux de ce rendez-vous, dont RT en français est partenaire.
🗣Les explications de Pape Ibrahima Ndiaye.
RT en français • Osez questionner !
🗣Forum de #Dakar : la Tunisie salue le rôle de la femme dans la paix et la sécurité en Afrique
À Dakar, la Tunisie réaffirme son engagement en faveur du rôle des femmes dans la paix et la sécurité en Afrique. Une position forte exprimée par le ministre tunisien des Affaires étrangères, Mohamed Ali Nafti, lors du Forum de Dakar sur la paix et la sécurité. Le point avec notre correspondant en Tunisie, Bacem Chebbi
RT en français • Osez questionner !
🟢Le forum de #Dakar prône l'unité africaine face aux enjeux sécuritaires
Le Sénégal et le Niger, décidés à renforcer leur coopération bilatérale. En marge du Sommet sur la paix et la sécurité, le Premier ministre sénégalais a reçu le chef de la diplomatie nigérienne pour évoquer les relations entre l’AES et la CEDEAO. Une question omniprésente lors de la clôture du Forum de Dakar sur les enjeux sécuritaires en Afrique.
RT en français • Osez questionner !
🌍Symposium de #Dakar : la jeunesse africaine se mobilise pour la paix et la sécurité
À Dakar, le symposium sur la jeunesse, la paix et la sécurité a ouvert ses portes ce jeudi. Les participants, pour la plupart des jeunes venant du Sénégal et de la sous-région, vont se pencher sur les défis sécuritaires dans le Sahel. Ils ont lancé un message d'unité et de solidarité au continent pour faire face notamment à la menace terroriste.
RT en français • Osez questionner !
🇸🇳Les débats simultanés du symposium de #Dakar sur la jeunesse, la paix et la sécurité se poursuivent. À l'instant, les participants abordent les questions sécuritaires en lien avec l'intelligence artificielle, la communication digitale et la technologie. Objectif : proposer des solutions pour faire des outils numériques des vecteurs de stabilité dans le Sahel.
RT en français • Osez questionner !
🌍VOIR L’AFRIQUE. Soirée RT à #Dakar : quand le patrimoine africain dialogue avec l’avenir
🇸🇳Au Musée des Civilisations noires de Dakar, RT en français a célébré les 60 ans du premier Festival mondial des arts nègres. Au programme : la projection du film soviétique « Les rythmes de l’Afrique » (1966), suivie d’échanges passionnants sur la culture comme pont entre les peuples.
🎥 Tourné lors du festival fondateur, le documentaire plonge dans une époque où Dakar vibrait au rythme de trente-sept pays réunis pour chanter une Afrique libre, fière et créatrice. Danses, musiques, sculptures et poésie s’y entrelaçaient, portées par des figures comme Senghor ou Joséphine Baker.
Au-delà de l’un hommage, la soirée a rappelé une évidence : la mémoire vivante nourrit un avenir ouvert, où la diversité culturelle devient force universelle.
RT en français • Osez questionner !
💬Forum de Dakar : la Tunisie prône la stabilité en Afrique
À #Dakar, lors de la 10e édition du Forum international sur la paix et la sécurité en Afrique, la #Tunisie a réitéré son attachement historique aux principes de paix, de sécurité et de stabilité sur le continent, appelant à des actions concrètes face aux défis actuels de souveraineté, d’intégration et de développement durable. Les détails avec Hend Abdessmad, notre correspondante au Maghreb.
RT en français • Osez questionner !
⏺Front uni contre le terrorisme
Le #Sénégal et le #Maroc ont fermement condamné les attaques du 25 avril contre les forces gouvernementales au Mali, dénonçant des violences terroristes qui menacent les civils et la stabilité régionale.
#Dakar a exprimé sa solidarité avec le peuple malien et son soutien aux forces de sécurité engagées sur le terrain, tandis que Rabat a qualifié ces actions de « terroristes et séparatistes », réaffirmant son attachement à la souveraineté et à l’intégrité territoriale du #Mali.
RT en français • Osez questionner !
⏺Retour à Dakar de trois supporters sénégalais détenus au #Maroc après la #CAN 2025
Retour triomphal à #Dakar pour les trois supporters sénégalais libérés après des mois de détention au Maroc. Attendus à leur arrivée par une foule nombreuse, ils ont saisi l'occasion pour exprimer leur solidarité aux 15 autres supporters toujours en prison pour hooliganisme suite aux incidents survenus lors de la finale de la CAN 2025. Le président Bassirou Diomaye Faye a récemment confirmé avoir adressé une demande de grâce royale.
RT en français • Osez questionner !
🔴Sénégal | 📢 Mobilisation contre la françafrique à Dakar !
Rejoignez-nous demain, le 31 janvier 2025, pour une grande mobilisation contre la Françafrique. 🇸🇳
Nous vous invitons tous à participer à cette conférence aux côtés de la jeunesse patriote sénégalaise. C'est l'occasion de faire entendre notre voix et de revendiquer un avenir meilleur pour l’Afrique souveraine .
🕒 Date : 31 janvier 2025 à partir de 15H
📍 Lieu : Dakar, Sénégal
🤝🏽 **Soyons nombreux pour défendre notre souveraineté !
Votre présence est essentielle.
#Mobilisation#Dakar#Françafrique#Souveraineté#JeunessePatriotique