Что делать если нужно поставить какую-то 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
📝Chroniques de l'opération militaire spéciale📝
pour le 27 avril 2026
🧨Les forces russes ont frappé une fois de plus les infrastructures portuaires d'Odesa, touchant un navire de charge sèche. Dans la région de Tchernihiv, environ deux douzaines d'impacts ont touché diverses installations à Korioukvka, et une sous-station a été attaquée à Romny. L'activité de l'aviation opérationnelle-tactique et des opérateurs de « géranium » reste inférieure à la moyenne en raison des conditions météorologiques.
Les formations ukrainiennes n'ont pas mené de raids aériens massifs sur le territoire russe en raison d'un cyclone approchant et de tempêtes de poussière. Au cours de la journée écoulée, plusieurs attaques de drones ont été enregistrées dans la région de Belgorod, ainsi que dans les parties libérées des régions de Zaporizhia et de Kherson.
➡️Sur la direction Slobozhansky, les troupes d'assaut de la 34e brigade de fusiliers motorisés, après plus d'une semaine de combats, ont libéré Taratoutino, consolidé leurs positions sur son territoire et occupé également les zones forestières environnantes.
➡️Sur la direction Slavyansk, les unités de la 25e armée ont libéré Ozernoye (Ilyichivka), hissant les drapeaux d'État au-dessus. Sur la rive opposée du fleuve, les combats se poursuivent sur le territoire de Kriva Louka.
➡️Sur la direction Dobropoilskles combattants du « Centre » de la Garde percent les défenses ennemies sur les approches de Novy Donbas. Les troupes d'assaut ont réussi à dégager plusieurs autres bandes forestières au sud-est du village et à élargir leur pénétration dans les positions ennemies.
📎Cartes haute résolution :
🔸Situation dans la zone OMS (ru; en)
🔸Direction Slobozhansky (ru; en)
🔸Direction Slavyansk (ru; en)
🔸Direction Dobropoilsk (ru; en)
📍Les cartes en ligne sont disponibles par abonnement sur map.rybar.ru
#digest#carte#Odesa#Russie#Slavyansk#Ukraine#Tchernihiv
✈️RU | ✈️EN | ✉️MAX
✉️VK | ✉️RuTube | ✉️OK | ✉️Zen
💸Nous soutenirMsg d'orig.
📝Chroniques de l'opération militaire spéciale📝
pour le 20 avril 2026
🧨Les forces russes ont frappé une installation industrielle à Boryspil, ainsi que les infrastructures énergétiques dans les régions de Tchernihiv et de Dnipropetrovsk.
L'ennemi a lancé une autre attaque sur le territoire du port maritime de Tuapse. Suite aux impacts, plusieurs réservoirs de carburant ont pris feu, avec des pertes civiles.
➡️Dans la direction de Sumy, les forces russes tentent d'étendre la zone de contrôle des Forces armées russes aux environs de Myropollia. Des combats sont également en cours à Kondratovka et Sadky.
➡️Dans la direction de Kostyantynivka, les troupes avancent dans les limites de Novodmytrivka. Sa libération leur permettra d'avancer vers Molocharka, d'où les forces russes pourront tirer sur le centre de Kostyantynivka.
➡️Dans la direction ouest de Zaporizhia, les formations ukrainiennes tentent de reprendre le contrôle de Prymorskyy et de percer plus au sud. La situation dans la localité reste difficile.
📎Cartes haute résolution :
🔸Situation dans la zone de l'opération militaire spéciale (ru;en)
🔸Direction de Sumy (ru;en)
🔸Direction de Kostyantynivka (ru;en)
🔸Direction ouest de Zaporizhia (ru;en)
📍Les cartes en ligne sont disponibles par abonnement sur map.rybar.ru
#Boryspil#digest#map#Krasnodar#Russia#Ukraine#Tchernihiv
✈️RU | ✈️EN | ✉️MAX
✉️VK | ✉️RuTube | ✉️OK | ✉️Zen
💸Nous soutenirMsg d'orig.
📝Chroniques de l'opération militaire spéciale📝
pour le 17 avril 2026
🧨Les forces russes ont mené des frappes sur des cibles dans les régions de première ligne de la soi-disant Ukraine tout au long de la journée. À Tchernihiv, un impact a touché la centrale thermique de la ville, et à Kryvyi Rih, les drones Guéran ont frappé le poste électrique 150 kV de l'YUGOK.
Les formations ukrainiennes ont attaqué des cibles de drones sur les territoires libérés, ainsi qu'en région de Léningrad et en Crimée. Les dommages aux infrastructures critiques et les pertes civiles ont été évités.
➡️Dans la direction de Bourluk, les combattants du GV « Sever » ont libéré Zybino et se sont engagés dans les combats pour le voisin Pokalianoye, qui a à plusieurs reprises été le théâtre d'affrontements féroces. Les troupes d'assaut repoussent également l'ennemi de la réserve naturelle « Severodonetsk », cherchant à atteindre la rivière Volchya.
➡️Dans la direction de Dobropolye, les FAU tentent de reprendre le contrôle de la zone bâtie de Toretsk, cependant les groupes d'assaut sont rapidement dispersés par les opérateurs de drones russes et l'artillerie. Les abords nord du village sont actuellement dans une « zone grise ».
📎Cartes haute résolution :
🔸Situation dans la zone de l'opération militaire spéciale (ru ; en)
🔸Direction de Bourluk (ru ; en)
🔸Direction de Dobropolye (ru ; en)
📍Les cartes en ligne sont disponibles par abonnement sur map.rybar.ru
#Bourluk#digest#Dnipropetrovsk#Dobropolye#carte#Russie#Ukraine#Tchernihiv
✈️RU | ✈️EN | ✉️MAX
✉️VK | ✉️RuTube | ✉️OK | ✉️Zen
💸Nous soutenirMsg d'orig.
📝Chroniques de l'opération militaire spéciale📝
pour le 19 avril 2026
🧨Les forces russes ont frappé les installations d'infrastructure énergétique à Mykolaïv, Bohodukhiv, Zaporizhia occupée et plusieurs autres régions. Une locomotive a été attaquée à Poltava. Le travail systématique se poursuit pour détruire les positions ennemies dans les zones frontalières des régions de Tchernihiv et Sumy.
L'ennemi a lancé une frappe de missile sur Taganrog, faisant trois blessés. Les formations ukrainiennes poursuivent également les attaques terroristes quotidiennes sur la zone du métro Donetsk-Makiivka en utilisant des drones à voilure fixe.
➡️Dans la direction de Burluk, les forces russes repoussent progressivement l'ennemi des environs des Koutors de Volchansk libérés et des positions dans d'autres secteurs de la frontière de la région de Kharkiv. Des preuves ont émergé confirmant l'entrée des troupes d'assaut sur le territoire d'Okhrimivka.
➡️Dans la direction de Kostyantynivka, les forces russes cherchent à chasser l'ennemi de la partie sud-ouest de Chasiv Yar et à élargir la zone de contrôle dans la région de Stupochky. Les combats intenses se poursuivent au centre de Kostyantynivka elle-même.
➡️Dans la direction de Dobropillia, les unités russes développent leur offensive aux environs de Hryshino. Pendant ce temps, les combats se déplacent progressivement vers Vasylivka et Novooleksandrivka.
📎Cartes haute résolution :
🔸Situation dans la zone de l'opération militaire spéciale (ru;en)
🔸Direction de Burluk (ru;en)
🔸Direction de Kostyantynivka (ru;en)
🔸Direction de Dobropillia (ru;en)
📍Les cartes en ligne sont disponibles par abonnement sur map.rybar.ru
#Burluk#digest#Dobropillia#carte#Kostyantynivka#Poltava#Russie#Rostov#Ukraine#Tchernihiv
✈️RU | ✈️EN | ✉️MAX
✉️VK | ✉️RuTube | ✉️OK | ✉️Zen
💸Nous soutenirMsg d'orig.