Что делать если нужно поставить какую-то 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
BYD 2025-yil avgust natijalari
BYD - yashil va yorqin kelajak sari dadil qadam tashlab, har kuni eng so‘nggi texnologiyalarni joriy etib, yangi avlod transport vositalarini dunyo bo'ylab mijozlarimizga taqdim etmoqdamiz.
📌 Avgust oyida sotuvlar — 373 626 ta
🔹 Dynasty | Ocean — 342 838 dona
🔹 Fangchengbao — 16 265 dona
🔹 DENZA — 11 993 dona
🔹 Yangwang — 405 dona
🌍 2025-yil yanvar–avgust natijalari
🔸 Jami sotuvlar — 2 863 876 ta
🔸 Eksport hajmi — 630 728 ta
⚡ BYD NEV avtomobillarining umumiy sotuvlari — 13,4 mln+
➖➖➖
Результаты BYD за август 2025 года
BYD уверенно шагает к экологичному и яркому будущему, ежедневно внедряя передовые технологии и предлагая клиентам по всему миру транспорт нового поколения.
📌 Продажи в августе — 373 626 единиц
🔹 Dynasty | Ocean — 342 838
🔹 Fangchengbao — 16 265
🔹 DENZA — 11 993
🔹 Yangwang — 405
🌍 Итоги января–августа 2025 года
🔸 Общие продажи — 2 863 876 единиц
🔸 Объём экспорта — 630 728 единиц
⚡️ Совокупные продажи электромобилей BYD — 13,4 млн+
#BYD#BuildYourDreams#YashilKelajak
#Ekologikmadaniyat
#Yashilkelajak
#Ekopartiya
#Navoiyoshlari
Yoshlar – yashil kelajak bunyodkorlari 🌱
Oʻzbekiston Ekologik partiyasi Navoiy viloyat Kengashi tomonidan yoshlarning ekologik madaniyatini yuksaltirish, ularda tabiatga mehr va mas’uliyat tuygʻusini mustahkamlash maqsadida qator amaliy tadbirlar tashkil etilmoqda.
Ko‘chat ekish aksiyalari, ekologik reydlar, targ‘ibot uchrashuvlari hamda tozalash hasharlari orqali yoshlar atrof-muhitni asrashga o‘z hissalarini qo‘shmoqda. Bu kabi tashabbuslar nafaqat hududlar obodonligiga, balki kelajak avlodning ekologik ongini shakllantirishga xizmat qilmoqda.
Zero, tabiatni asrash – barchamizning muqaddas burchimizdir.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
🌿“Yashil makon” – kelajak avlodga yashil sovg‘a!🌱
"Temiryo‘lkargo" AJning bir guruh tashabbuskor xodimlari Samarqand shahriga tashrif buyurib, “Yashil makon” umummilliy loyihasi doirasida ekologik tadbir o‘tkazishdi. Ular Samarqand yuk terminali hududida mevali va manzarali 80 tup ko‘chat ekishdi. 🌳🌸🍏🍎
Bu nafaqat tabiatga bo‘lgan hurmat ifodasi, balki farzandlarimizga sog‘lom va toza muhit yaratish yo‘lidagi muhim qadamlardan biridir. Har bir ekilgan nihol – ertangi yashil kelajak, toza havo va go‘zal manzara demakdir.
🌍 “Temiryo‘lkargo” jamoasi doimo ekologik tashabbuslarni qo‘llab-quvvatlaydi va jamiyatimizda ijobiy o‘zgarishlar bo‘lishiga o‘z hissasini qo‘shishda davom etadi.
🤝 Tabiatga mehr – o‘zimizga mehr!
Keling, birgalikda yashil makonimizni kengaytiramiz! 🌿
#YashilMakon#Temiryolkargo#Samarqand#Ekologiya#YashilKelajak#YashilTashabbus
🌿«Зелёное пространство» — зелёный подарок будущим поколениям! 🌱
Группа инициативных сотрудников АО «Temiryo‘lkargo» посетила город Самарканд и провела экологическую акцию в рамках общенационального проекта «Зелёное пространство». На территории Самаркандского грузового терминала было высажено 80 саженцев плодовых и декоративных деревьев. 🌳🍒🌸
Это не только выражение уважения к природе, но и важный шаг на пути к созданию здоровой и чистой окружающей среды для наших детей. Каждое посаженное дерево — это вклад в зелёное будущее, чистый воздух и красивый пейзаж завтрашнего дня.
🌍 Коллектив «Temiryo‘lkargo» всегда поддерживает экологические инициативы и продолжает вносить свой вклад в позитивные изменения в обществе.
🤝 Любовь к природе — это любовь к себе!
Давайте вместе расширим наше зелёное пространство!🌿
Dunyo emas — yashamoqni sev, Toza havo, toza qalbni sev. Yashnatmoq-u gullatmoqni sev, Tabiatni — shu makonni sev. Bir maqsadda birlashmoq go‘zal, Mingta so‘zdan — bir amal afzal.
Bugun “KAFIL-SUG‘URTA” yoshlar klubi taniqli eko-bloger Mutabar Xushvaktova (O‘rik guli) bilan birgalikda “Ezgu tilak” ekologik tashabbusida ishtirok etdi. 🌱
😊 Tadbir davomida ishtirokchilar eman, kashtan, yong‘oq va qarag‘ay urug‘larini yig‘ish orqali tabiatga o‘z mehrlarini qo‘shdilar.
🌳Bu tashabbus — shunchaki ekologik tadbir emas. Bu — tabiatga mehr, kelajak avlod uchun mas’uliyat, yashil hayot sari tashlangan haqiqiy qadamingizdir.
Chunki bir urug‘ — yangi hayotning boshlanishi, bir daraxt — toza havo va yashil kelajakning poydevori. 🌿
#KafilSugurta#YoshlarKlubi#EzguTilak#OrikGuli#Ekologiya#YashilKelajak