Что делать если нужно поставить какую-то 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
Президент Шавкат Мирзиёев Ислом цивилизацияси марказига ташриф буюриб, халқимизнинг бой тарихий ва маънавий меросини кенг намойиш этишга қаратилган ишлар билан танишди.
—
Президент Шавкат Мирзиёев посетил Центр исламской цивилизации и ознакомился с проводимой работой по широкому представлению богатого исторического и духовного наследия нашего народа.
#Mirziyoyev#tanishuv#markaz#marifat
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Ўзбекистондаги Ислом цивилизациясимарказига ташриф буюриб, сўнгги пардозлаш ва жиҳозлаш ишларини кўздан кечирди.
—
Президент Шавкат Мирзиёев посетил Центр исламской цивилизации в Узбекистане и ознакомился с ходом заключительных работ по отделке и оснащению.
#Mirziyoyev#tanishuv#markaz#marifat
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев аҳоли ҳаёти билан яқиндан танишиш мақсадида Сирдарё вилоятига йўл олди. Сафар асносида давлатимиз раҳбари Ўзбекистон мусулмонлари идораси раиси, муфтий Нуриддин Холиқназаров билан самимий суҳбатлашди.
—
Президент Шавкат Мирзиёев для ознакомления с условиями жизни населения отбыл в Сырдарьинскую область. По пути глава государства провел искреннюю беседу с председателем Управления мусульман Узбекистана, муфтием Нуриддином Холикназаровым.
#Mirziyoyev#uchrashuv#Ramazon#marifat
Prezident.uz|Facebook|Instagram|YouTube|X
Давлатимиз раҳбари Ўзбекистон Миллий кутубхонаси, Тошкент давлат педагогика университети ва "Янги Ўзбекистон" университети биноларининг қурилиши билан танишди.
—
Глава государства ознакомился с ходом строительства Национальной библиотеки Узбекистана, зданий Ташкентского государственного педагогического университета и Университета "Новый Узбекистан".
#Mirziyoyev#tanishuv#YangiToshkent#marifat
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Ислом цивилизацияси марказига ташриф буюриб, халқимизнинг бой тарихий ва маънавий меросини кенг намойиш этишга қаратилган ишлар билан танишди.
—
Президент Шавкат Мирзиёев посетил Центр исламской цивилизации и ознакомился с проводимой работой по широкому представлению богатого исторического и духовного наследия нашего народа.
#Mirziyoyev#tanishuv#markaz#marifat
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев янгиланган Республика болалар кутубхонасини бориб кўрди.
—
Президент Шавкат Мирзиёев посетил обновленную Республиканскую детскую библиотеку.
#Mirziyoyev#tanishuv#marifat#kutubxona
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президент Шавкат Мирзиёев Ислом цивилизацияси марказига ташриф буюриб, халқимизнинг бой тарихий ва маънавий меросини кенг намойиш этишга қаратилган ишлар билан танишди.
—
Президент Шавкат Мирзиёев посетил Центр исламской цивилизации и ознакомился с проводимой работой по широкому представлению богатого исторического и духовного наследия нашего народа.
#Mirziyoyev#tanishuv#markaz#marifat
Prezident.uz|Facebook|Instagram|YouTube|X
#Chilonzor
#MFY
#Ekskursiya
#IslomSivilizatsiyasi
#Manaviyat
#Marifat
Chilonzor MFY raislari uchun Islom sivilizatsiyasi markaziga ma’naviy-ma’rifiy ekskursiya tashkil etildi
Chilonzor tumanidagi mahalla fuqarolar yig‘inlari raislari uchun Islom sivilizatsiyasi markaziga ma’naviy-ma’rifiy ekskursiya tashkil etildi.
Ekskursiya davomida ishtirokchilar ushbu markazning boy tarixiy merosi, ajdodlarimizning ilmiy va madaniy yutuqlari bilan yaqindan tanishdilar. Tarix va kelajak o‘rtasida mustahkam ma’naviy ko‘prik vazifasini o‘tayotgan mazkur maskan MFY raislarida katta qiziqish uyg‘otdi.
Tashrif davomida ular ko‘plab yangi va qiziqarli ma’lumotlarga ega bo‘lib, yurtimizning boy ma’naviy merosi yuzasidan chuqur taassurotlar bilan qaytdilar.
🔵@Chilonzor_tuman_hokimligi
📚Ma'rifat johillikka qarshi: TIUE talabalari bilan dialog.
Tashkent International University of Educationda talabalar bilan ma'naviy-axloqiy rivojlanish va bag'rikenglik madaniyatini shakllantirishga bag'ishlangan ma'rifiy uchrashuv bo'lib o'tdi.✔️
Tadbirda Din ishlari qo'mitasi vakili Rahimjon Ashirmatov, shuningdek O'zbekiston Xalqaro Islom akademiyasi dotsenti Anvar Hudo'yorov ishtirok etdi.
📌 Uchrashuv doirasida "Ma'rifat johillikga qarshi" mavzusida suhbat bo'lib o'tdi, uning davomida ekspertlar talabalar bilan dinni to'g'ri tushunish, diniy bag'rikenglik ahamiyati, hamda destruktiv va ekstremistik g'oyalar tarqalish xavflari masalalarini muhokama qildi.
Alohida e'tibor ta'lim roli, bilimga intilish va milliy hamda umuminsoniy qadriyatlarga hurmat ko'rsatish yoshlarning uyg'un rivojlanishining muhim omillari sifatida qaratildi.
🗣️ Uchrashuv oxirida talabalar o'zlarini qiziqtirgan savollarni berishdi va ma'ruzachilar bilan ochiq dialogda qatnashdi.
#TIUE#Marifat#Bagrikenglik#Talim#Yoshlar
〰️〰️〰️
📚Просвещение против невежества: диалог со студентами в TIUE.
В Tashkent International University of Education состоялась просветительская встреча со студентами, посвящённая вопросам духовно-нравственного развития и формирования культуры толерантности.✔️
В мероприятии приняли участие представитель Комитета по делам религий Рахимжон Аширматов, а также доцент Международной Исламской Академии Узбекистана Анвар Худоёров.
📌 В рамках встречи состоялась беседа на тему «Просвещение против невежества», в ходе которой эксперты обсудили со студентами вопросы правильного понимания религии, значимость религиозной толерантности, а также риски распространения деструктивных и экстремистских идей.
Особое внимание было уделено роли образования, стремлению к знаниям и уважению к национальным и общечеловеческим ценностям как важным факторам гармоничного развития молодёжи.
🗣️ В завершение встречи студенты смогли задать интересующие вопросы и принять участие в открытом диалоге со спикерами.
#TIUE#Просвещение#Толерантность#Образование#Молодежь