Что делать если нужно поставить какую-то 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
🎮Qlever reklama va ijtimoiy mas'uliyat uchun imkoniyatlar ochadi!
Qlever.Asia - bu Markaziy Osiyoda 200 000 dan ortiq foydalanuvchilar va O'zbekistonda 40 000 dan ortiq ro'yxatdan o'tgan o'yinchilar auditoriyasiga ega innovatsion ta'limiy platforma. Endilikda brendlarda nafaqat reklama joylashtirish, balki tanqidiy tafakkur va mediasavodxonlikni qo'llash orqali ijtimoiy mas'uliyatni namoyon qilish imkoniyati mavjud.
🐕Reklama formatlari:
✅Platformada reklama materiallarini joylash (yangiliklar, PR-maqolalar)
✅Sovg'alarga homiylik qilish (brend mahaulotlar, vaucherlar, gadjetlar)
✅Ijtimoiy tarmoqlarga integratsiya (postlar, reelslar)
🤝 Ijtimoiy loyihani qo'llab-quvvatlang!
Qlever bilan hamkorlik — bu nafaqat marketing foydasi, balki biznesingizning ijtimoiy yo'nalganligini ta'kidlash imkoniyati. Siz mintaqada ta'lim va tanqidiy tafakkurga hissa qo'shib, loyiha rivojini qo'llashingiz mumkin.
📥 Hamkorlik va qo'llab-quvvatlash masalalari bo'yicha TG (@DaryaNicolayevna) yoki [email protected] pochta orqali murojaat qiling!
🔺🔺🔺
🎮Qlever открывает возможности для рекламы и социальной ответственности!
Qlever.Asia — это инновационная образовательная платформа с аудиторией более 200 000 пользователей в Центральной Азии и около 40 000 зарегистрированных игроков в Узбекистане. Теперь у брендов есть возможность не только разместить рекламу, но и продемонстрировать социальную ответственность, поддержав развитие критического мышления и медиаграмотности.
🐕 Форматы рекламы:
✅ Размещение рекламных материалов на платформе (новости, PR-статьи)
✅ Спонсирование призов (брендированные товары, ваучеры, гаджеты)
✅ Интеграции в социальные сети (посты, рилсы)
🤝Поддержите социальный образовательный проект!
Партнерство с Qlever — это не только маркетинговая выгода, но и возможность подчеркнуть социальную ориентированность вашего бизнеса. Вы также можете сделать пожертвование на развитие проекта, внеся вклад в образование и критическое мышление в регионе.
📥 По вопросам сотрудничества и поддержки пишите в TG (@DaryaNicolayevna) или на почту [email protected]!
#Реклама#Партнерство#СоциальнаяОтветственность#Qlever#Reklama#Hamkorlik#IjtimoiyMasuliyat
Tadaaam! #Qleverqahramoni tanlovimiz g'oliblarini tabriklaymiz 🥳
Bizning jamoamiz eng noodatiy va ijodiy selfilarni tanladi📸
Eslatib o'tamiz, uchta eng yaxshi selfi mualliflari har biriga 150-dan yulduzchaga ega berishgan💫
1️⃣@katya_13091987__winwinwin - KatyaKuznetsova
2️⃣@d4uranbek - D4uranbek
3️⃣@jddesignerpro - JDDesigner
Qolgan barcha ishtirokchilarning har biriga 20-ta yulduzchadan taqdim etildi.
Faollik va ishtirokingiz uchun barchangizga katta rahmat. Bizning sahifamizdagi yangiliklar va tadbirlarni kuzatib boring😊
#qlever#qleverasia#qleveruz#mjdcuz
--------------
Тадааам! Поздравляем победителей нашего конкурса #геройqlever🥳
Наша команда выбрала самые необычные и творческие селфи📸
Напоминаем, что авторы трёх лучших селфи получили по 150 звёздочек💫
1️⃣@katya_13091987__winwinwin - KatyaKuznetsova
2️⃣@d4uranbek - D4uranbek
3️⃣@jddesignerpro - JDDesigner
Все остальные участники получили по 20 звёздочек⭐️
Спасибо большое всем за вашу активность и участие. Следите за обновлениями и активностями на нашей странице😊
#qlever#qleverasia#qleveruz#mjdcuz
@qleveruz
🎮Qlever reklama va ijtimoiy mas'uliyat uchun imkoniyatlar ochadi!
Qlever.Asia - bu Markaziy Osiyoda 200 000 dan ortiq foydalanuvchilar va O'zbekistonda 40 000 dan ortiq ro'yxatdan o'tgan o'yinchilar auditoriyasiga ega innovatsion ta'limiy platforma. Endilikda brendlarda nafaqat reklama joylashtirish, balki tanqidiy tafakkur va mediasavodxonlikni qo'llash orqali ijtimoiy mas'uliyatni namoyon qilish imkoniyati mavjud.
🐕Reklama formatlari:
✅Platformada reklama materiallarini joylash (yangiliklar, PR-maqolalar)
✅Sovg'alarga homiylik qilish (brend mahaulotlar, vaucherlar, gadjetlar)
✅Ijtimoiy tarmoqlarga integratsiya (postlar, reelslar)
🤝 Ijtimoiy loyihani qo'llab-quvvatlang!
Qlever bilan hamkorlik — bu nafaqat marketing foydasi, balki biznesingizning ijtimoiy yo'nalganligini ta'kidlash imkoniyati. Siz mintaqada ta'lim va tanqidiy tafakkurga hissa qo'shib, loyiha rivojini qo'llashingiz mumkin.
📥 Hamkorlik va qo'llab-quvvatlash masalalari bo'yicha TG (@DaryaNicolayevna) yoki [email protected] pochta orqali murojaat qiling!
🔺🔺🔺
🎮Qlever открывает возможности для рекламы и социальной ответственности!
Qlever.Asia — это инновационная образовательная платформа с аудиторией более 200 000 пользователей в Центральной Азии и около 40 000 зарегистрированных игроков в Узбекистане. Теперь у брендов есть возможность не только разместить рекламу, но и продемонстрировать социальную ответственность, поддержав развитие критического мышления и медиаграмотности.
🐕 Форматы рекламы:
✅ Размещение рекламных материалов на платформе (новости, PR-статьи)
✅ Спонсирование призов (брендированные товары, ваучеры, гаджеты)
✅ Интеграции в социальные сети (посты, рилсы)
🤝Поддержите социальный образовательный проект!
Партнерство с Qlever — это не только маркетинговая выгода, но и возможность подчеркнуть социальную ориентированность вашего бизнеса. Вы также можете сделать пожертвование на развитие проекта, внеся вклад в образование и критическое мышление в регионе.
📥 По вопросам сотрудничества и поддержки пишите в TG (@DaryaNicolayevna) или на почту [email protected]!
#Qlever#Реклама#Партнерство#СоциальнаяОтветственность#Qlever#Reklama#Hamkorlik#IjtimoiyMasuliyat
🎮 А у нас на платформе новая игра! Играя в нее вы научитесь проверять изображения, прокачаете критическое мышление, станете более внимательными к деталям.
🔍 В современном мире фейки встречаются на каждом шагу. Новости, статьи, фотографии, видео - все может быть подделкой. Умение распознавать фотофейки - это важный навык, который поможет вам не стать жертвой обмана.
🎓 Играйте и учитесь!
📸🔍📸🔍📸🔍📸🔍
🎮 Bizning platformamizda esa - yangi o'yin! Uni o'ynash orqali siz tasvirlarni tekshirishni, tanqidiy fikrlashni yaxshilashni va tafsilotlarga ko'proq e'tibor berishni o'rganasiz.
🔍 Zamonaviy dunyoda feyklar va soxta narsalar har qadamda topiladi. Yangiliklar, maqolalar, fotosuratlar, videolar - hammasi feyk bo'lishi mumkin. Feyk fotosuratlarni fosh etish qobiliyati sizni aldov qurboni bo'lmaslikka yordam beradigan muhim ko'nikmadir.
🎓 O'ynang va bilim toping!
#qlever#oyin#fakes#tanqidiyfikrlash#photofake#qlever#игра#фейки#критическоемышление#фотофейк
🎮Qlever
📹Instagram
💬Telegram