Что делать если нужно поставить какую-то 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
➤ Device = Redmi K50 Ultra
➤ HyperOS 2.2 Version = 2.0.211.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 5
➤Region = China
📆26/12/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(System)
Merged December 2025 security patches to enhance system security
*Mi Pilot Release
Redmi K50 Ultra / Xiaomi 12T Pro - China Stable - OS2.0.206.0.VLFCNXM (Android 15)
📆2025/08/26 📱#diting
📥Recovery ROM
📝Changelog:
[System]
Optimization System stability
Fix Errors occurred in some cases
Updated the security patch to August 2025. Increased system security.
🔗@xiaomiui | @miui_download | @hyperosfirmware | HyperOS Updates | XiaomiTime
➤ Device = Redmi K50 Ultra
➤ HyperOS 2.2 Version = 2.0.206.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 2
➤Region = China
📆21/8/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(System)
Optimization system stability
Repair occasional abnormal issues in some scenarios
Merged August 2025 security patches to enhance system security
*Mi Pilot Release
🔗@TECH_MUKUL | HyperOS 2.0 | @miui_hyperos_download | @hyperossystemapps| TW
➤ Device = Redmi K50 Ultra
➤ HyperOS 2.2 Version = 2.0.203.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 1
➤Region = China
📆14/7/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(Accessibility)
Fix: Touch gestures stopped working in TalkBack mode
Fix: Volume buttons didn't work in TalkBack mode
Fix: Issues that prevented Recorder from capturing TalkBack audio
Fix: Issues with announcements for unselected items in Calendar and other apps
Fix: Some buttons weren't announced in several apps, including Settings, Control center, Messaging, Contacts, Weather, Notes, and Browser
(System animations)
Optimization: Interrupt animation when entering subpages within apps
Optimization: Interrupt animation during app transitions
(Status bar, Notification shade)
New: Some status bar icons now support custom display
(System)
Optimization: Immersive effect for full screen indicator in certain scenarios
Optimization: Updated styles for some classic pages
Optimization: Animation effects when launching apps
Optimization: Scrolling performance on content feeds in some third party apps
Updated the security patch to June 2025. Increased system security.
(Settings)
Optimization: Added a shortcut to system navigation settings in Home screen settings
(Lock screen)
New: Eastern aesthetics lock screen templates
*Mi Pilot Release
➤ Device = Redmi K50 Ultra
➤ HyperOS 2 Version = 2.0.7.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 3
➤Region = China
📆10/6/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(System)
Merge the June 2025 security patch to enhance system security
*Mi Pilot Release
🔗@TECH_MUKUL | HyperOS 2.0 | @miui_hyperos_download | @hyperossystemapps| TW
➤ Device = Xiaomi 12T Pro
➤ HyperOS 2 Version = 2.0.1.0.VLFMIXM
➤ Android Version = 15
➤ Number of Update = 1
➤Region = Global
📆14/4/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:here
*Public Release
➤ Device = REDMI K50 Ultra
➤ HyperOS 2 Version = 2.0.5.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 1
➤Region = China
📆28/3/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(Alive Design Philosophy)
Alive Design Philosophy unveils fresh, vibrant design across the whole system, making every interaction feel smooth and alive.
All-new Artistic Lock screen:
Artistic Lock screen brings new templates and effects inspired by classic designs, giving your device a cinematic look every time you unlock it.
All-new Weather
Real-time Weather Engine 2.0 shows you the sky and clouds just like in real life - even lets you see rainbows and the Milky Way.
All-new Calendar:
The new Desktop calendar adds a touch of ritual to your day.
All-new Clock:
Updated Clock uses a more refined display structure for a more elegant, easy-to-read look.
Updated animations:
A full-scale animation upgrade makes every interaction flow smoothly and feel stable, responsive, and comfortable.
(Xiaomi HyperCore)
Xiaomi HyperCore, Xiaomi's proprietary core technology platform, enhances performance, graphics, network, and security.
New dynamic memory:
New technology allows precise resource allocation, so apps start up faster.
Upgraded rendering:
Upgraded rendering for multitasking extends battery life.
Heterogeneous computing:
Enhanced rendering pipeline boosts hardware performance for faster, more efficient visuals.
(Xiaomi HyperConnect)
Improved device connectivity framework.
(Improved Home Screen+)
You can drag apps from your phone to Xiaomi tablets or add them as native apps.
(Updated multi-device camera)
The upgraded multi-device camera allows you to use two cameras simultaneously for live streaming from multiple angles.
*Mi Pilot Release
¡New build available!
#A15#diting
Code Name:diting
Device:Xiaomi 12T Pro / Redmi K50 Ultra
File Name:xperience-19.1.0-20250623-213918-NIGHTLY-diting.zip
File Size:3.3G
sha256sum:b9c01d0a5edad1b7a5d545f3a2a777aa9423c7e569392ea8dcbc5201d0f62f61
Downloads:
SourceForge | Pling fast download
Required Firmware
Recovery
Maintainer:@TeamMEX_XDA (Kισżż)
Install steps:
Changelog:
- Merge 2025-06-05 SLP (whitout qpr2)
- Optimize dalvik and dext2oat
- Update translations
If you like my work and want to support it please consider making a donation this helps with server costs.
Donate PayPal