Что делать если нужно поставить какую-то 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
🇷🇺🇺🇦Alors que Moscou se prépare à célébrer le Jour de la Victoire sur le nazisme, l’Ukraine cherche à entraver la fête et refuse la trêve proposée par #Moscou, multipliant ses attaques et ses menaces terroristes.
Les détails avec notre reporter, Daria Vaganova.
RT en français • Osez questionner !
📎Un satellite illumine le ciel nocturne de #Moscou
Le 1er mai au soir, les Moscovites ont pu observer un phénomène astronomique rare : la « Lune des fleurs ». Les images montrent un satellite brillant éclairant le ciel crépusculaire de la capitale, avant de disparaître progressivement derrière les nuages.
RT en français • Osez questionner !
⏺L’Occident instrumentalise l’OIAC à des fins géopolitiques, selon #Moscou
L’Occident instrumentalise l’Organisation pour l'interdiction des armes chimiques pour promouvoir ses intérêts. Telle est la conclusion du rapport du Conseil de sécurité de la fédération de Russie. Les détails avec notre reporter, Daria Vaganova.
RT en français • Osez questionner !
🐾Au zoo de #Moscou, les visiteurs ont pu découvrir des lémuriens catta nouveau-nés
Selon le zoo de Moscou, le sexe et le poids des nouveau-nés sont encore inconnus, les soigneurs préférant ne pas déranger la famille. Les petits restent en permanence auprès de leurs parents et se nourrissent de lait.
RT en français • Osez questionner !
❄️ Neige record à #Moscou en avril
Moscou et sa région ont été frappées par un cyclone nord-atlantique, apportant neige mouillée, pluie et vents violents jusqu’à 20 m/s.
Selon les services météo, les précipitations ont atteint un niveau record avec 21 mm en une journée, dépassant un record datant de 1880. Les autorités ont placé la région en niveau d’alerte élevé en raison des risques de verglas et de chutes de neige persistantes, attendues encore durant plusieurs jours.
source : réseaux sociaux
RT en français • Osez questionner !
⛵️Défilé de bateaux à #Moscou
Des navettes fluviales, des bateaux de plaisance et bateaux de service ont défilé sur la Moskova, traversant le centre de la capitale. La vidéo montre également la levée solennelle du drapeau russe. Tous ces navires transporteront des passagers sur des dizaines de lignes au cours de cette année.
Selon Roman Latypov, premier directeur adjoint du département des transports de Moscou, le trafic passagers pourrait plus que quadrupler. Il a également qualifié la saison de navigation 2025 de grande réussite : le trafic passagers a atteint 4,57 millions de roubles, dépassant de plus de 20 % le chiffre de l'année précédente.
RT en français • Osez questionner !
🌐#Moscou accueille le IIe Dialogue public « L’avenir du monde »
Du 27 au 29 avril, le Centre national RUSSIE réunit à Moscou des experts de plus de 40 pays. Au programme : conférences, soutenance de projets et débats.
Parmi les intervenants, le chercheur marocain Younes Bennane. Après avoir proposé un corridor transcontinental Asie-Afrique via l’Arctique et Dakhla, il défend désormais une bourse carbone 100% africaine.
💬 « Une opportunité stratégique pour montrer que les chercheurs du Sud peuvent résoudre les grands défis du siècle », souligne-t-il.
Quatre thèmes sont proposés aux finalistes : capital humain, technologie, environnement, communication.
Les organisateurs ont reçu plus de 300 essais. Les inscriptions sont ouvertes sur le site officiel.
RT en français • Osez questionner !
❗️Projet d’attentat déjoué à Moscou
Un ressortissant russe a été arrêté à #Moscou alors qu’il préparait une explosion à proximité d’installations du ministère de la Défense, selon le FSB.
RT en français • Osez questionner !
‼️Un incident s'est produit dans le métro de #Moscou
Selon les premières informations, un des bogies de la troisième voiture a déraillé. Cela a endommagé un câble haute tension dans le tunnel et provoqué un court-circuit sans incendie par la suite. La fumée s'est cependant répandue sur deux stations.
Plus de 180 personnes ont été évacuées. Les services de secours sont sur place.
L'instant de l'accident dans le métro a été filmé.
Une personne a été blessée au cours de cet incident, elle a été hospitalisée.
source : réseaux sociaux
RT en français • Osez questionner !