Что делать если нужно поставить какую-то 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
LG Electronics сохраняет за собой бренды в РФ и остаётся на российском рынке
Как сообщил официальный представитель компании, LG сохранит присутствие, бренд и рабочие места в России
LG Electronics прекратила поставки продукции в РФ в 2022 году, но в январе этого года подала заявку в Роспатент на регистрацию своего нового товарного знака "Express Fill", под которым собирается продавать бытовую технику, устройства для промышленного производства, приборы для оснащения кухни и т.д. А также заявку на товарный знак "Hyper Radiant Color Tech" в отношении телевизоров, светодиодных дисплеев, сенсорных экранов и т.п.
#LG
📱 LG Display yangi 20%ga ko‘proq cho‘ziluvchan displeyni namoyish etdi
ℹ️ LG Display kompaniyasi 2022-yil noyabrida taqdim etilgan 12 dan 14 dyuymgacha cho‘ziluvchi displey prototipidan so‘ng, endi 12 dan 18 dyuymgacha cho‘ziluvchi yangi displey prototipini namoyish etdi. Yangi panel 18 dyuymda ham 100 ppi piksel zichligini saqlab qoladi. Bundan tashqari, displey kamida 10 000 marta cho‘zish va burishlarga bardosh bera oladi. Ushbu texnologiya kiyim-kechak, mebel va boshqa sohalarda qo‘llanilishi mumkin bo‘lsa-da, seriyali ishlab chiqarish haqida hali ma’lumot berilmagan.
➡️#lg | Birinchi raqamli IT-Blog
LG 家庭 AI 机器人 CLOiD 首秀,能叠衣服还能帮你上菜
LG 在今年的 CES 2026 展览会期间首次公开展示面向家庭场景的 AI 机器人 CLOiD,并称其可完成 叠衣服、清理洗碗机、送食物 等多种家务任务。 LG 将在 CES 2026 期间展示 CLOiD 在不同场景中完成家务的过程,包括 启动洗衣程序、折叠衣物、从烤箱中取出食物、清理洗碗机以及端送餐盘。
2026国补享85折补贴
标签:#LG
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
LG Display 亮相 CES 2026:33 英寸车载 OLED 柔性“卷轴屏”、51 英寸超宽贯穿式面板...
LG Display 宣布将在 CES 2026 中展示多款面向车载场景的前沿 OLED 技术,包括一款 33 英寸柔性卷曲 OLED 面板,以及 51 英寸“柱到柱(Pillar to Pillar)”超宽 OLED 面板。 LG Display 还首次公开了 51 英寸“柱到柱(Pillar to Pillar)”面板,所谓“柱到柱”指的是显示屏横跨车身 A 柱等立柱结构,实现真正意义上的贯穿式超宽显示。
2026国补享85折补贴
标签:#lg
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
LG 将在 CES 上发布自家 Frame 风格电视
LG 推出自家 Gallery TV,加入由三星 The Frame 引领的艺术电视市场,并依托其 Gallery+ 服务提供大量艺术与视觉内容。该服务类似三星的艺术商店,提供部分免费内容,但完整功能需订阅。LG 强调此产品与其 G 系列 OLED 不同,定位为专注艺术展示的新类别电视。
标签:#LG
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot