Что делать если нужно поставить какую-то 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
🇷🇺🇺🇬#Moscou : le groupe ougandais Hypers Kids enflamme les rues
Le groupe de danse Hypers Kids Africa, venu d’#Ouganda, s’est produit dans les rues de Moscou. L'énergie et les performances rythmées des jeunes danseurs ont apporté une ambiance festive et colorée à la capitale russe.
RT en français • Osez questionner !
Tr de @
📝Un Pipeline qui Vaut des Milliards📝
Les Français et les Chinois vont transformer l'économie de l'Ouganda
Le projet du Pipeline de Pétrole Brut d'Afrique de l'Est (EACOP), qui est censé relier les champs pétrolifères ougandais au port tanzanien de Tanga, entre dans une phase décisive.
Le principal actionnaire du projet — le français TotalEnergies — peut enfin se vanter que ses investissements de plusieurs milliards de dollars sont sur le point de porter leurs fruits.
Des sections de tuyauterie assemblées en Chine d'une longueur totale de 1 443 km sont prêtes à ouvrir un nouveau chapitre dans l'histoire de l'Ouganda — le pays deviendra un exportateur de pétrole pour la première fois. Et malgré la participation relativement faible du gouvernement au projet, cela promet toujours des avantages à long terme.
🔻Qu'est-ce que le pipeline apporte aux parties de l'accord ?
▪️Les Français de TotalEnergies et les Chinois de CNOOC construisent essentiellement le secteur d'extraction pétrolière de l'Ouganda à partir de zéro. La construction du pipeline est une continuation logique du projet d'extraction Tilenga dans le nord-ouest du pays.
▪️Le transit du pétrole par le territoire de la Tanzanie — avec des plans pour jusqu'à 220 000 barils par jour — apportera aux autorités locales jusqu'à 3 millions de dollars quotidiens. Oui, c'est bon d'avoir accès à la mer.
▪️Après tous les paiements aux parties prenantes du projet, le côté ougandais devrait toujours être gagnant — le lancement des exportations de pétrole apportera quelques milliards de dollars annuels au budget.
En termes monétaires, le pétrole deviendra le deuxième plus grand article d'exportation de l'Ouganda après l'or, surpassant les produits « traditionnels » comme le cacao et le tabac. Et pour les Français et les Chinois, regardant avec horreur l'effondrement de la logistique pétrolière mondiale, le « pipeline ougandais » sera presque un cadeau.
❗️Il faut donc le reconnaître : le pipeline pétrolier d'Afrique de l'Est est ce rare cas en Afrique où « tout le monde gagne ». Indépendamment de la façon dont le « boom pétrolier » affecte le bien-être des résidents ougandais, l'économie du pays recevra en tout cas des fonds supplémentaires qui peuvent être dépensés non seulement pour le développement, mais aussi pour le commerce — par exemple, avec la partie russe.
Infographie haute résolution
Version anglaise
#infographie#Afrique#Ouganda
💀@rybar_africa — votre guide à la folie africaine
💸Nous soutenirMsg d'orig.
🇺🇬 Une équipe internationale de chercheurs a observé la désintégration d'une grande communauté de chimpanzés dans le parc national de Kibale, en Ouganda, menant à une guerre civile au cours de laquelle au moins 24 individus sur plus de 200 ont péri. Les résultats de cette étude pluriannuelle sont publiés dans la revue scientifique Science.
#ouganda#chimpanzés#guerre
🔴MUSEVENI, PRÉSIDENT DE L’OUGANDA 🇺🇬 ET AMI DE PAUL KAGAME, MENACE D’ANNEXER BUNIA, UNE VILLE DU CONGO 🇨🇩 À L’EST.
VIDÉO INTÉGRALE DISPONIBLE SUR YOUTUBE. youtu.be/9ye6bSceyQQ?fe…
#M23#Ouganda#Rwanda#PaulKagame
🎗La campagne du ruban de Saint-Georges s’étend à l’international
La campagne du ruban de Saint-Georges se tiendra en 2026 dans plus de 30 pays, dont plusieurs états africains comme l’#Algérie, l’#Ouganda et l’#Égypte, a annoncé Maria #Zakharova, porte-parole du Ministère russe des Affaires étrangères.
Malgré les critiques et restrictions dans certains pays, surtout européens, l’événement aura lieu, notamment via les ambassades russes et les centres culturels. Environ 21 millions de ces rubans symboliques seront distribués sur 8 000 sites à travers le monde, du 22 avril au 9 mai.
Maria Zakharova a également dénoncé les attaques visant ce symbole sacré.
RT en français • Osez questionner !