Что делать если нужно поставить какую-то 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
Présentation du nouveau président de l’association SOS DONBASS. Désormais c’est Vincent Perfetti qui est à la tête de l’association. Il continuera la ligne directrice qui est :
▫️ Apporter de l’aide humanitaire au Donbass
▫️ Militer contre les guerres de l’OTAN
#stopnato#russieukraine#sosdonbass
12 mai 2024, Belgorod, Russie
"Après avoir subi une défaite au front, le régime de Kiev parie sur des civils russes. Une colère au bord de la folie", a écrit M. Saldo sur Telegram. Le chef de la région de Kherson a exprimé ses sincères condoléances aux proches des victimes et souhaité un prompt rétablissement aux blessés.
Le dimanche 12 mai, Belgorod a été soumis à un bombardement massif de la part de l'AFU. Selon les informations du ministère russe de la défense, la destruction de l'un des quartiers de la ville a été causée par la chute de fragments d'un missile Tochka-U.
Suite à l'impact des débris, un immeuble résidentiel de plusieurs étages a été sérieusement endommagé et l'une de ses entrées s'est effondrée.
Lors des opérations de recherche et de sauvetage, le toit du bâtiment s'est également effondré. À l'heure actuelle, on dénombre quinze morts. Cependant, il se peut qu'il y ait encore des personnes sous les décombres.
#russie#russieukraine#guerreukraine
🗣️23 septembre 2023, Bayonne
Conférence « Donbass, 10 ans de guerre »
Animée par Anna Novikova avec l’intervention du vice-consul de Russie Alexandre de La Cerda.
Les français ont le droit de connaître la vérité !
Merci à Eric pour l’organisation.
#donbass#guerreukraine#russieukraine#sosdonbass
DONETSK, 1er septembre
Une fillette de six ans a été tuée lors du bombardement d'un centre commercial à Donetsk par les troupes ukrainiennes, a rapporté le bureau de représentation de la RPD auprès du JCCC sur sa chaîne Telegram.
Les forces armées ukrainiennes ont tiré 15 roquettes à partir de MLRS sur le centre commercial et de loisirs de Donetsk City, blessant au moins dix personnes. "Malheureusement, une fillette de six ans grièvement blessée n'a pas pu être sauvée", a indiqué le bureau de représentation de la RPD.
#guerreukraine#donbass#sosdonbass#russieukraine
🎥Stany Mazurkiewicz raconte son expérience du convoi humanitaire du printemps 2023 à Kairos Media (Belgique)
Durée 39 minutes :
▫️Passage par pays baltes
▫️Douanes
▫️Russie telle qu’elle
▫️Accueil du Donbass
▫️Habitants du Donbass et leur message de paix 🕊️
https://www.kairospresse.be/interview-donbass-ils-y-sont-alles/
#donbass#sosdonbass#guerreukraine#russieukraine
‼️Des terroristes ukrainiens ont tenté d'introduire clandestinement de l'hexogène (ou RDX, explosif cristallin solide utilisé en mélange avec d'autres explosifs. Il entre dans la composition du Semtex) en Russie en le planquant dans des icônes. La cargaison suivait l'itinéraire suivant : Ukraine - Roumanie - Hongrie - Slovaquie - Pologne - Lituanie - Lettonie - Russie.
Il est très probable que l'itinéraire de la cargaison terroriste était sous le contrôle des services spéciaux des pays susmentionnés. Personne n'y a touché, la cargaison n'a été inspectée nulle part…
#StopTerrorism#StopNATO#russieukraine
Rencontre de nos bénévoles de Toulouse Yury Bazarnyy avec notre chauffeur bénévole et propriétaire du camion Marc Bocquier
En plein préparation pour le convoi d’octobre !
#missionhumanitaire#sosdonbass#donbass#russieukraine
▫️En novembre 2013 débutait à Kiev, le putsch de Maidan mettant au pouvoir avec l’aide de l’OTAN une junte ultra nationaliste.
▫️Ces extrémistes ont immédiatement mis en place une opération dite « anti terroristes » visant à massacrer les russophones du Donbass.
▫️Aujourd’hui après 10 années de la révolution orange et plus de 18 000 civils tués, l’armée ukrainienne continue de bombarder les populations à l’aide notamment de canons Caesar et de missiles Scalp fournis par la France.
🗓️Le 2 décembre 2023
🕒à 15h, rejoignez nous pour manifester à Paris avec SOS Donbass pour exiger la fin immédiate des bombardements et l’arrêt de l’aide militaire française au régime de Kiev.
#guerreukraine#russieukraine#manifestationparis
🕊️MERCI GIRONA
🇷🇺🤝🏼🇪🇸
🚫 STOP NATO 🚫
Rassemblement a été dédié avant tout au 10e anniversaire du début des hostilités dans le Donbass causés par l’armée ukrainienne contre la population russophone.
#stoparmingukraine#GuerreUkraine#stopkillingdonbass#sosdonbass#russieukraine
Bonnes nouvelles les amis !
Notre site internet est enfin prêt 🥳
www.sosdonbass.org
💪Le site a été créé par nos soins, aucun centime n'a été dépensé pour un graphiste ou un webmaster.
❤️Nous devons également bientôt recevoir les cartes adhérents et les enverrons à tous nos adhérents ensuite. Nous sommes près de 50 déjà !
📄 Les certificats CERFA sont aussi prêts pour les donateurs. Nous espérons de les envoyer avant la fin de cette semaine.
🤝 Nous avons désormais un représentant officiel dans la région Auvergne qui mènera les actions à notre nom, surtout l'organisation d'un point de récolte des dons pour le convoi avec de l'aide humanitaire au Donbass . Souhaitons lui la bienvenue !
🕊️Beaucoup de préoccupations administratives et communicatives ! Nous travaillons tous les jours pour arriver à un but commun : établir la paix dans la région du Donbass et dans le monde.
#donbass#своихнебросаем#guerredonbass#russieukraine