Что делать если нужно поставить какую-то 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
Осетия Сегодня
from Sputnik Южная Осетия
Во Владикавказе сотрудники МВД задержали 39-летнего мужчину, подозреваемого в сбыте сильнодействующих веществ
По данным полиции, он занимался адресной доставкой препаратов клиентам. В ходе оперативных мероприятий его удалось установить и задержать.
При личном досмотре были обнаружены красно-белые капсулы с прегабалином. Возбуждено уголовное дело по факту незаконного оборота сильнодействующих веществ с целью сбыта. #social
🔴Sputnik Южная Осетия в MAX
@
ОсНова
from Sputnik Южная Осетия
На Транскаме сильный камнепад и дождь
Трасса закрыта до 08:00 24 апреля.
Вечером резко ухудшилась погода и в столице Южной Осетии — поднялся сильный порывистый ветер, начался ливень. Завтра, по прогнозам синоптиков, в республике тоже дождь.
Видео от нашего подписчика.
#social
@
ГаZыри
from Sputnik Южная Осетия
Южная Осетия и Абхазия вновь названы главной угрозой безопасности Грузии в очередном отчете СГБ страны
В МИД Южной Осетии заявили, что подобные оценки искажают факты и игнорируют ответственность Тбилиси за события августа 2008 года, на что, по их словам, указывала комиссия ЕС под руководством Хайди Тальявини.
В МИД республики также подчеркнули, что Россия остается ключевым фактором региональной стабильности.
Ее военное присутствие в республике осуществляется на основе межгосударственных соглашений.
Цхинвал призвал Тбилиси отказаться от прежней риторики и перейти к конструктивному диалогу. #social
@
Красносельский: Придание Антонеску героического ореола в глазах молдавских школьников – это признак того, что история уже переписана.
Издание таких учебников в Молдове и их изучение детьми говорит о чёткой позиции государства по этой теме, считает глава Приднестровья Вадим Красносельский.
"Это не просто чья-то инициатива, чьи-то взгляды, какого-то аналитика. Нет, это позиция государства. Мы там видим, что историю полностью переписали, назвав нацистских преступников героями, а Красную Армию и солдат её – "оккупантами", – сказал он на собрании в честь 10-летия молодежного военно-патриотического движения "Наследники Побед".
▪️В современной Румынии за реабилитацию Антонеску и его союзников предусмотрена уголовная ответственность, напомнил Красносельский.
#social
.
☑️🇷🇺Масштабные совместные учения Южной Осетии и России стартовали на полигоне "Дзарцем"
Военнослужащие двух стран объединили усилия для уничтожения противника.
▪️За ходом маневров лично наблюдает президент Южной Осетии Алан Гаглоев. #social
🇷🇺☑️Южная Осетия отправит гумпомощь в пострадавший от наводнения Дагестан
Глава МЧС республики Ибрагим Гассеев провел переговоры с коллегой из Дагестана Нариманом Казимагамедовым.
"В настоящее время в МЧС Южной Осетии формируется колонна для отправки гуманитарного груза в Дагестан", — отметили в ведомстве.
При необходимости спасатели Южной Осетии отправятся в зону ЧС для ликвидации последствий паводков. #social
🔴Sputnik Южная Осетия в MAX
❓Вы знаете что сейчас происходит на Харьковском направлении?
Слишком много шума, домыслов и чужих интерпретаций. Поэтому особенно важно иметь под рукой канал, где собирают главное быстро и по делу.
❗️Новости, политика, оперативка. Уникальный контент изнутри!
Всё здесь:@Kharkov_Perviy
Подпишись, чтобы не терять нить происходящего!
#social ВП
@ukr_2025_ru
⚡️Друг нашего проекта военкор Тимофей Ермаков работает в Донбассе с первого дня СВО и ведёт канал Синяя Z Борода!
Туда приходит срочная оперативная информация о ситуации на Добропольском фронте непосредственно от бойцов и командиров.
Также на связи ребята со Славянского направления, в том числе парни, освобождающие Купянск и Красный Лиман, а также десантники ведущие наступление в Запорожской области.
Подписывайтесь, чтобы ничего не пропустить!
#social ВП
@ukr_2025_ru
🔰 X (formerly Twitter) v10.5.0-release.1 🔰
MOD - [TwiFucker]
ℹ️ Description:
X Mod APK Now with Twitter spaces: Join, listen, and speak in live audio conversations Download X APK Update 2023
🆕 WHAT’S NEW:
Get ready for the new dark mode, now with 2 options – dim and lights out – and an automatic setting!
➕ MOD:
Features
Remove promoted content
Remove promoted users
Remove promoted trends
Remove sensitive media warning
Disable recommended users
Copyable alt text
Download media menu
Hide drawer items (Slightly broken due to Twitter new drawer layout.)
Hide navigation bar items
Disable url redirect (Prevent Twitter redirect from t.co to target link when clicking on a link in Twitter.)
Disable Threads (live content)
Disable Tweet Detail Related Tweets
Remove video carousel
Feature switch (Force enable/disable Twitter experimental feataure.)
➠ Embedded modules:
✅ TwiFucker:
Yet Another Adkiller for Twitter
Support only Android 9.0+
v2.1
Release Type: Stable
✅ Check-Blue:
A module that allows you to find out if a Twitter user is Blue Verified.
No configuration needed, install and restart Twitter then tap on the blue checkmark in a user's profile.
v1.0
Release Type: Stable
• First release
✅ LarryOnX:
This module restores the Twitter logo at the top of the timeline and reverts changes to texts within the "X" app.
No configuration needed, install and restart Twitter.
v1.3
Release Type: Stable
• hotfix
TweetFucker Usage:
● Go to Setting and Support and tap the down arrow then go to Settings and privacy > Additional resources then Tap the version number
or
● Long tap Twitter logo at top of the Twitter home screen OR
➡ Changelog:
- update Polish translations (#171) by uvzen
➡ Languages: Full Multi Languages
➡ CPU architectures: arm64-v8a, armeabi-v7a, x86, x86_64
➡ Screen DPIs: 120dpi, 160dpi, 240dpi, 320dpi, 480dpi, 640dpi
➡ credit:
Nullptr, Js0n and All TwiFucker contributors for TwiFucker module
Alessandro Paluzzi for CheckBlue and LarryOnX modules
Note:
Hide bottom navigation bar items, hide app drawer items and hide for you tab may not work
What's New:
- X (formerly Twitter) base updated to v10.5.0-release.1
• Get ready for the new dark mode, now with 2 options – dim and lights out – and an automatic setting!
- Twifucker module updated to v2.1.r284.ca25289
This app has no advertisements
Category: #Social🧩
Developer: X Corp. 👨💻
App ID: com.twitter.android🔐
Current Version: VARY ✅
Content Rating: Mature 17+ 👀
Enjoy 😊😘😊😘😊😘😊😘😊
https://t.me/joinchat/KOQ8o_8ns24yZTE8
@EverythingMe
❓Вы знаете что сейчас происходит на Харьковском направлении?
Слишком много шума, домыслов и чужих интерпретаций. Поэтому особенно важно иметь под рукой канал, где собирают главное быстро и по делу.
❗️Новости, политика, оперативка. Уникальный контент изнутри!
Всё здесь:@Kharkov_Perviy
Подпишись, чтобы не терять нить происходящего!
#social ВП
Девять из десяти: Гацалов триумфально вернулся на пост главного тренера сборной России по вольной борьбе
Российские борцы-вольники под руководством Хаджимурата Гацалова завоевали девять медалей на международном рейтинговом турнире Объединенного мира борьбы"Мухамет Мало", который завершился в Албании.
Для осетинского специалиста это был первый международный старт после того, как на прошлой неделе Международное агентство допинг-тестирования (ITA) сняло с него все обвинения в применении допинга, выдвинутые в мае прошлого года, и полностью оправдало его.
Медали в копилку российской команды принесли:
🥇Заур Угуев (до 61 кг), Ибрагим Кадиев (до 86 кг), Абдулрашид Садулаев (до 97 кг) и Абдулла Курбанов (до 125 кг);
🥈 Рамиз Гамзатов (до 57 кг), Чермен Тавитов (до 61 кг) и Мухаммед-Тахир Ханиев (до 97 кг);
🥉Ибрагим Ибрагимов (до 70 кг) и Иналбек Шериев (до 74 кг).
Подопечные Хаджимурата Гацалова завоевали на прошедшем турнире 9 из 10 возможных медалей. #social