Что делать если нужно поставить какую-то 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
SOLIDARITÉ POUR LE CONGO 🇨🇩🙏🏾
Sénégal 🇸🇳 | Je tiens à remercier tous les frères et sœurs engagés qui ont répondu à l'appel à la solidarité africaine, tant sur le continent que dans sa diaspora. Ce samedi 8 février 2025, ils se sont rassemblés à Dakar, devant l'ambassade du Congo, pour dénoncer l'agression du Rwanda 🇷🇼, soutenir les victimes de ce génocide, et mettre en lumière le silence complice des organisations et dirigeants africains. #FreeCongo#FrerGoma
REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM.
🔺Pour les numéros français : https://t.me/egountchibehanzinTV
🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel
@egountchibehanzinTV
Au Mali 🇲🇱, Modibo Keïta doit se retourner dans sa tombe en apprenant cette nouvelle ! Quelle honte pour l’Afrique. C’est cela, le panafricanisme en 2025 ?🤦🏽♂️😡#FreeCongo#AfriqueSouveraine
@egountchibehanzinTV
#FreeCongo#FreeGoma#kivu
C’était le 10 décembre 2024 en République de Carélie, en Russie 🇷🇺. J'y dénonçais et expliquais aux étudiants russes de l’université de Carélie l’agression du Rwanda de Paul Kagame sur le Congo, avec le soutien des Occidentaux, ainsi que l’inaction du président Félix Tshisekedi.
Nous continuerons à prendre la parole pour dénoncer l'injustice sur notre continent, peu importe le pays, la nationalité ou l'ethnie, car c'est cela, le véritable panafricanisme et le rôle d’un leader d’opinion.
Mon soutien au peuple congolais. 🙏🏾
#FreeCongo#FreeGoma
REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM.
🔺Pour les numéros français : https://t.me/egountchibehanzinTV
🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel
@egountchibehanzinTV
📢🔴 URGENT CONGO 🇨🇩 | MON MESSAGE À FÉLIX TSHISEKEDI : IL EST TEMPS D’ALLER EN RUSSIE 🇷🇺 POUR RENCONTRER LE PRÉSIDENT POUTINE AFIN DE SOLLICITER UN SOUTIEN MILITAIRE ET LOGISTIQUE CONTRE LE M23 ET LES FORCES RWANDAISES. #FreeCongo#FreeAfrika#Goma
#Kivu
REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM.
🔺Pour les numéros français : https://t.me/egountchibehanzinTV
🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel
@egountchibehanzinTV
Le sommet régional actuellement en Tanzanie, qualifié de "négociation" concernant la crise à l'est du #Congo🇨🇩, est orchestré par des intérêts occidentaux qui soutiennent également le régime de Paul Kagame. La participation du gouvernement congolais, représenté par Félix Tshisekedi, à ces discussions semble peu productive et constitue une perte de temps, voire une distraction politique. Il est difficile d'imaginer qu'un pays de 105 millions d'habitants, riche en ressources, puisse se retrouver dans une position de faiblesse lors de négociations avec un pays de taille modeste comme le Rwanda 🇷🇼. Depuis 30 ans, chaque épisode de violence du M23 est suivi de promesses de dialogue, mais il serait peut-être plus judicieux de s'attaquer aux causes profondes du problème, étant donné que les gouvernements successifs au Congo ont montré leur incapacité à gérer cette situation de crise. Il est essentiel que les Congolais se mobilisent pour défendre leur souveraineté et leur intégrité territoriale, en unissant leurs efforts pour créer des milices patriotiques et protéger leur patrie, plutôt que de compter sur un gouvernement qui semble inapte à agir.
#FreeCongo#Goma#Kivu#M23
REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM.
🔺Pour les numéros français : https://t.me/egountchibehanzinTV
🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel
@egountchibehanzinTV
Je partage pleinement l'analyse de notre frère @Julius_S_Malema commandant en chef de l'EFF, concernant les déclarations provocatrices de l'agent impérialiste, tueur et genocidaire Paul Kagame, qui, avec la complicité de ses alliés occidentaux, tue notre peuple à GOMA, KIVU 🇨🇩 avec le M23.
Il est impératif que le EFF @EFFSouthAfrica envisage une mobilisation devant l'ambassade du Rwanda à Pretoria pour exprimer notre solidarité avec le peuple congolais. Qu'en pensent nos camarades de l'EFF ?
#FreeCongo#FreeGoma#FreeKivu#AfricaSolidarite
@egountchibehanzinTV
Hiérarchisation des génocides et des crimes contre l’humanité par la nouvelle "héroïne" des manipulateurs-gauchistes de la France insoumise ?
Donc pour elle, les 20 millions de morts au Congo ne sont pas une urgence car ils ne sont pas Palestiniens ? L'extermination des enfants au Yémen par l'Arabie saoudite et sa coalition arabe n'est pas une urgence ?
Les Djindjaoui arabes qui exterminent les minorités noires en ce moment au Soudan, ce n’est pas une urgence ? L’esclavage arabo-musulman et ses conséquences jusqu’à présent en Afrique, ce n’est pas une urgence ?
De toute façon, elle est à la mode aujourd’hui, demain ce sera une autre personne qui la remplacera. Avant elle, la gauche et Mélenchon utilisaient une autre pour amadouer les habitants des quartiers et des banlieues. Mélenchon est fort dans sa manipulation de vieux gueulard franc-maçon. Quand je pense qu'il y a des Africains qui pensent que la France insoumise est avec eux. La pire chose qui soit arrivée aux immigrés en France, c’est leur soumission à la manipulation de la gauche française. 🤮😂#EB#FreeCongo#FreeAfrika#FreeTogo#FreeSoudan
@egountchibehanzinTV
Erdogan, le dictateur turc 🇹🇷 , est un véritable opportuniste, un affairiste sans foi ni loi, et surtout un cheval de Troie de l’OTAN. Après avoir signé des accords de coopération militaire dans le domaine de la défense avec Paul Kagame, il y’a 1 jour il ose maintenant proposer une médiation entre le #Congo🇨🇩 et le #Rwanda🇷🇼. Quel cynisme !
Ce rat espère sans doute se remplir les poches, comme il l’a fait dans le conflit entre l’Ukraine 🇺🇦 et la Russie 🇷🇺 , où la Turquie a tiré profit des tensions. Heureusement, le gouvernement congolais a refusé cette offre indécente. C’était le minimum à attendre.
N’oublions pas que la Turquie d’Erdogan finance des groupes islamistes terroristes en Afrique. Nous refusons catégoriquement toute médiation turque sur le continent. Ne jamais faire confiance à un rat, à un schizophrène politique qui ne pense qu’à ses propres intérêts.
La souveraineté du Congo et des pays africains n’est pas à marchandiser. Ensemble, restons vigilants face à ces manœuvres opportunistes et protégeons notre avenir !
#NonALaMédiationTurque#SouverainetéAfricaine#UnisContreLeTerrorisme
#Freecongo
REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM.
🔺Pour les numéros français : https://t.me/egountchibehanzinTV
🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel
@egountchibehanzinTV