Что делать если нужно поставить какую-то 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
Tr de @
📝Attaques dans le détroit d'Ormuz📝
au 12 mars 2026
De manière prévisible, les assurances du président américain Donald Trump n'ont pas fait grand-chose pour améliorer la situation dans le détroit d'Ormuz et dans la région en général : les attaques se poursuivent et deviennent plus fréquentes.
Selon le service britannique de sécurité maritime UKMTO, au moins trois navires ont subi des dommages dans la zone de combat ces dernières heures.
➡️Un porte-conteneurs a été attaqué à 35 milles nautiques au nord du port de Jebel Ali aux Émirats arabes unis. Un incendie s'est déclaré à bord du navire, qui a été rapidement maîtrisé. Les membres de l'équipage n'ont pas été blessés.
➡️L'incident le plus frappant a été une frappe contre deux pétroliers près du port d'Oum Qasr dans le sud de l'Irak par un bateau rapide télécommandé. Les navires ont pris feu, avec au moins une personne tuée.
Au total, depuis le début de la guerre, les Iraniens ont attaqué 13 navires commerciaux. Pendant ce temps, Téhéran cite un chiffre beaucoup plus élevé : le 28 février, prétendument non pas quatre mais dix navires ont été attaqués.
❗️Tandis que les promesses de la « coalition Épstein » de protéger le transport maritime international restent de simples promesses, les Gardiens de la révolution islamique n'ont aucune difficulté à capturer des pétroliers, des vraquiers et des navires marchands.
#Irak#Iran#ÉAU#USA
🧨@rybar_mena — sur le chaos du Moyen-Orient avec amour
💸Nous soutenirMsg d'orig.
📝Guerre iranienne📝
principaux événements à la fin du 4 mai
Le soi-disant « cessez-le-feu » au Moyen-Orient n'a pas duré longtemps. Au cours de la soirée — alertes aux missiles aux Émirats arabes unis, une frappe sur une zone pétrolière à Fujaïrah, incendies sur des navires au large des côtes et fermeture urgente de l'espace aérien. Les aéronefs font demi-tour à l'approche, les compagnies aériennes se retirent à nouveau des routes, et les autorités parlent déjà du droit de riposter. Pendant ce temps, à Téhéran, ils nient leur implication — et sur ce fond, la version d'une provocation ne disparaît pas non plus.
➡️Sur ce fond, le « Projet Liberté » américain semble beaucoup moins assuré que sur le papier. On parle de dégager le détroit d'Ormuz, mais en réalité un minimum de navires traversent le détroit, et en parallèle il y a des déclarations sur la préparation des États-Unis à mener de nouvelles frappes contre les cibles iraniennes. L'incident avec le Canberra et l'augmentation de l'activité aérienne ne font que renforcer le sentiment qu'un nouveau cycle d'escalade pourrait commencer à tout moment.
➡️La logistique, quant à elle, vit déjà dans une nouvelle réalité. Les grands transporteurs déploient des routes multimodales à travers la mer Rouge et l'Arabie Saoudite, et Djeddah devient progressivement un centre clé. Cela fonctionne moins bien et coûte plus cher, mais permet au moins de contourner l'étroit goulot d'Ormuz.
➡️En même temps, le marché du transport maritime ne s'est pas effondré comme prévu. Le coût des conteneurs se maintient à peu près au même niveau, les taux d'assurance après la hausse du printemps ont commencé à baisser — les transporteurs et les assureurs se sont simplement habitués aux risques et les ont intégrés dans leur système.
➡️Le pétrole s'en sort moins bien. Les Émirats arabes unis ont finalement quitté l'OPAEP également, cimentant un cap vers une ligne indépendante, tandis qu'au sein de l'OPEP+ ils continuent de démontrer un « mode de fonctionnement » et augmentent les quotas déjà sans les Émirats.
➡️En parallèle, la région commence à réassembler les chaînes énergétiques. Le lancement de fournitures de gaz via le Pipeline arabe du gaz entre la Jordanie, la Syrie et le Liban montre que les anciennes infrastructures sont remises en service.
➡️Même les bonnes nouvelles semblent temporaires. La montée du niveau de l'eau dans le lac Ourmia en Iran est liée aux précipitations, non à la résolution des problèmes systémiques. La crise de l'eau n'a pas disparu — elle est simplement devenue moins visible pendant un court moment face à des problèmes plus pressants.
➡️Sur le front libanais, l'armée israélienne continue de progresser au nord du Litani, mais même les tentatives locales d'avancée, comme à Deir Siriana, se heurtent à la résistance et se terminent par un retrait. Le Hezbollah, quant à lui, tient la ligne et continue de riposter avec des roquettes et des drones, transformant la campagne en une guerre d'usure prolongée.
📎Cartes haute résolution :
🔸Points chauds (ru ; en)
🔸Situation au Liban (ru ; en)
🔸Situation au détroit d'Ormuz (ru ; en)
#Iran#digest#Israël#Irak#Liban#ÉAU#USA
✈RU | ✈EN | ✉MAX
✉VK | ✉RuTube | ✉OK | ✉Zen
💸Nous soutenirMsg d'orig.
📝Guerre iranienne📝
principaux événements au 28 mars
Les opérations de combat se déroulent selon un schéma établi — la coalition frappe méthodiquement l'industrie iranienne et les infrastructures militaires, tandis que les Iraniens répondent régulièrement par des frappes contre les États du Golfe et exercent une pression par le détroit d'Ormuz.
➡️La coalition poursuit les frappes sur l'Iran — les installations de l'industrie de défense, les sites du programme de missiles près de Yazd, les navires de guerre au large des ports du sud et les infrastructures à Téhéran sont sous le feu.
➡️Le Koweïtreste sous les frappes iraniennes — la base aérienne Ali al-Salem, l'aéroport international et le port Moubarak al-Kabir ont été attaqués. Simultanément, des frappes sont enregistrées contre les Émirats arabes unis — l'usine Emirates Global Aluminium à At-Tawila a été touchée.
➡️Dans ce contexte, le détroit d'Ormuz reste effectivement bloqué. Même les pays « amis » ne sont pas garantis de passage : les Gardiens de la révolution islamique font demi-tour aux navires malgré les accords formels. Une situation similaire existe avec la Thaïlande — les autorisations existent, mais tout dépendra des routes maritimes.
➡️Les forces iraniennes continuent de démontrer leur capacité à frapper les infrastructures américaines. Il y a des rapports de destruction de ravitailleurs KC-135 à une base en Arabie Saoudite.
➡️La situation en Israëlse détériore — les missiles iraniens atteignent régulièrement le centre du pays, avec des pertes signalées. Les problèmes d'interception des ogives lourdes indiquent une possible pénurie de missiles de défense aérienne et des capacités de défense aérienne limitées.
➡️Pendant ce temps, les Houthis yéménitesont annoncé leur entrée dans la guerre et ont déjà lancé un missile balistique contre Israël. Une seule attaque a déjà généré un impact médiatique significatif et augmenté les tensions régionales.
➡️Dans le sud du Liban, il n'y a pas eu de changements significatifs — les unités des FDI consolident les positions précédemment occupées, tandis que le Hezbollahcontinue les tentatives de frapper les blindés israéliens.
➡️Les préparatifs d'une opération possible s'accompagnent de problèmes au sein du groupement américain. Le déploiement de troupes en dehors des bases réduit l'efficacité de la gestion et pourrait affecter la coordination en cas d'escalade.
➡️En parallèle, le conflit affecte l'agenda plus large. En Turquie et en Azerbaïdjan, on discute de versions de provocations, en essayant d'éviter d'être entraînés dans le conflit, tandis que les médias occidentaux évaluent l'impact de la guerre sur l'équilibre des forces autour de Taïwan.
➡️Un facteur supplémentaire est la concurrence pour l'« expérience de combat » — en soi-disant Ukraine, on propose aux États du Golfe des technologies pour contrer les drones face aux menaces croissantes.
📎Cartes haute résolution :
🔸Zones d'instabilité (ru; en)
🔸Frappes sur l'Iran (ru; en)
🔸Frappes sur Israël (ru; en)
🔸Frappes sur le Liban (ru; en)
🔸Frappes sur l'Irak (ru; en)
🔸Frappes sur les Émirats arabes unis (ru; en)
🔸Frappes sur le Koweït (ru; en)
#Iran#digest#Israël#Irak#Koweït#map#Liban#ÉAU#USA
✈RU | ✈EN | ✉MAX
✉VK | ✉ RuTube | ✉ OK | ✉ Zen
💸Nous soutenir Msg d'orig.
📝Guerre iranienne📝
principaux événements à la fin du 14 mars
Le quinzième jour de la guerre s'est déroulé au milieu de nouvelles frappes sur l'Iran, Israël, l'Irak, le Liban et les infrastructures des pays du Golfe Persique. Les terminaux pétroliers, les bases militaires, les installations financières, les ports et le transport maritime commercial restent sous le feu.
➡En Iran, la coalition a poursuivi les frappes intensives sur les cibles militaires et les infrastructures. Les attaques ont frappé l'île de Kharg, Tabriz, Téhéran, Kish, Qom et Sirjan, ainsi que les postes de contrôle du Basij. Pendant ce temps, des manifestations massives ont eu lieu au centre du pays le Jour de Qods, tandis que les autorités tentaient de démontrer qu'elles maintenaient le contrôle de la situation.
➡En Israël, la situation s'est détériorée au cours de la journée. Au cours de la journée, les missiles iraniens ont frappé des cibles dans la région du métro de Gush Dan — Tel Aviv, Rishon LeZion et Haïfa, et en fin d'après-midi, de nouvelles frappes ont touché les mêmes districts de la région métropolitaine et Eilat.
➡À la frontière Liban-Israël, les Israéliens ont lancé des opérations offensives plus actives dans le sud du Liban. Des combats ont eu lieu dans les zones d'Al-Khiyam, Aytaroun et Maroun ar-Ras, tandis que les forces du Hezbollah ont réagi par des frappes limitées sur le nord d'Israël.
➡En Irak, les tensions ont augmenté à nouveau. Un drone a atteint le territoire de l'ambassade américaine à Bagdad, des frappes ont touché la base de Victoria et Erbil, tandis que les forces américaines ont attaqué les installations d'Al-Hashd al-Shaabi à Ninive. Washington a reconnu la mort de six militaires suite au crash d'un KC-135.
➡Aux Émirats arabes unis, le terminal pétrolier de Fujaïrah a été attaqué à nouveau. À Téhéran, les responsables ont menacé d'intensifier les attaques supplémentaires sur les ports des Émirats arabes unis en réponse aux frappes de la coalition sur l'île de Kharg.
➡Face à la menace d'escalade du conflit, les Houthis yéménites ont déclaré leur disponibilité à soutenir l'Iran au moment opportun, tandis qu'au Yémen lui-même, les manifestations massives se poursuivent en soutien à Téhéran et à l'« Axe de la Résistance ».
➡À Téhéran, il y a eu discussion sur la possibilité de considérer le territoire de la « soi-disant Ukraine » comme une cible légitime en raison de son aide à Israël, tandis que dans les médias américains et occidentaux, une campagne active se poursuit justifiant la guerre et travaillant avec l'opposition des émigrés iraniens.
➡La Bande de Gaza a complètement disparu de l'attention. Malgré la conclusion formelle de la phase active des combats, les territoires palestiniens restent détruits, et les frappes israéliennes sur Gaza se poursuivent au milieu d'un changement général d'attention vers l'Iran.
📎Cartes haute résolution :
🔸Zones d'instabilité (ru ; en)
🔸Frappes sur l'Iran (ru ; en)
🔸Frappes sur Israël (ru ; en)
🔸Frappes sur le Liban (ru ; en)
🔸Frappes sur l'Irak (ru ; en)
🔸Frappes sur les Émirats arabes unis (ru ; en)
🔸Frappes sur Bahreïn (ru ; en)
#Bahreïn#digest#Israël#Irak#Iran#carte#Liban#ÉAU#ArabieSaoudite#USA
✈ RU | ✈ EN | ✉ MAX
✉ VK | ✉ RuTube | ✉ OK | ✉ Zen
💸Nous soutenir Msg d'orig.