Что делать если нужно поставить какую-то 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
peter:
Name: 阿凡达:火与烬 (2025) 正式版.4K.高码率/ 阿凡达/ 阿凡达3
Size: 20g
描述:故事紧随《阿凡达:水之道》的结局,讲述了萨利一家虽暂时击退强敌,却也付出了长子牺牲的沉重代价。悲痛尚未平息,潜伏的危机却再度逼近,一场不可避免的决战即将拉开序幕。当弑亲之仇与部落恩怨交织,潘多拉的命运悬于一线的故事。
Link: 👉Press me and click START to get the hidden link
#电影#Quark#求转存
♾@gdsharing♾Google Drive限制了日分享流量:求补链
forever:
Name: 2026年1月16日 短剧分享
Size: ng
描述:
1.书卷游梦穿书炫肉嘎嘎香(69集)王一帆&李杰
2.前妻悔婚后,我和校花绑定甜宠系统(78集)范高坡&董洁
3.逆袭之我成了团播公司老板(82集)程勇炜&唐雪晴
4.离婚当天,我觉醒了宠妻系统(70集)王必可&陈星甜
5.双穿大乾开局一仓粮乱世称王侯(72集)凌晨&章凱玥
6.婚礼前初恋穿越回来了(100集)汤朵儿&曹渊
Link: 👉Press me and click START to get the hidden link
#短剧#Quark#求转存
♾@gdsharing♾资源分享不易:欢迎点赞支持分享者
forever:
Name: 20251014 短剧合集
Size: ng
描述:
1.佛珠碾欲(90集)张月&梅先锋
2.重生末世之囤岛求生(38集)Ai短剧
3.全村笑我傻我靠养鱼发家致富(60集)胥惠棠
4.我就是药神(61集)柴浩
5.因果循环(45集)崔永炫&李曼
6.顶流之路:从攻略弟弟开始&顶流之路从攻略弟弟开始(37集)Ai短剧
Link: 👉Press me and click START to get the hidden link
#短剧#Quark#求转存
♾@gdsharing♾Telegram/电报/纸飞机的网页端:可能无法点击链接
Allen:
Name: 名称:50部-2025年06月18日最新热门抖音快手百度番茄红果等付费短剧推荐
Size: 20G
描述:2025年06月18日最新热门抖音快手百度番茄红果等付费短剧推荐 / 每日同步更新
Link: 👉Press me and click START to get the hidden link
#短剧#Quark#求转存
♾@gdsharing♾Telegram/电报/纸飞机的网页端:可能无法点击链接
peter:
Name: 美女ASMR 助眠
Size: ng
美女ASMR 助眠音频
Link: 👉Press me and click START to get the hidden link
#asmr#Quark#求转存
♾@gdsharing♾Telegram/电报/纸飞机的网页端:可能无法点击链接
#1 k: v 💬