Что делать если нужно поставить какую-то 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
Koʻksaroy qarorgohida mamlakatimizga rasmiy tashrif bilan kelgan Paragvay Respublikasi Prezidenti Santyago Penyani kutib olish marosimi boʻldi.
—
В резиденции «Куксарой» состоялась церемония встречи Президента Республики Парагвай Сантьяго Пенья, прибывшего в нашу страну с официальным визитом.
#Mirziyoyev#tashrif#Paragvay#marosim
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev va Paragvay Respublikasi Prezidenti Santyago Penyaning muzokaralari yakunida ikki tomonlama hujjatlarni imzolash marosimi boʻlib oʻtdi.
—
По итогам переговоров Президента Республики Узбекистан Шавката Мирзиёева и Президента Республики Парагвай Сантьяго Пенья состоялась церемония подписания двусторонних документов.
#Mirziyoyev#tashrif#Paragvay#hujjatlar
Prezident.uz|Facebook|Instagram|YouTube|X
Koʻksaroy qarorgohida Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev va Paragvay Respublikasi Prezidenti Santyago Penya rasmiy delegatsiyalar ishtirokida muzokara oʻtkazdilar.
—
В резиденции «Куксарой» состоялись переговоры Президента Республики Узбекистан Шавката Мирзиёева с Президентом Республики Парагвай Сантьяго Пенья с участием официальных делегаций.
#Mirziyoyev#tashrif#Paragvay#muzokara
Prezident.uz|Facebook|Instagram|YouTube|X
Koʻksaroy qarorgohida mamlakatimizga rasmiy tashrif bilan kelgan Paragvay Respublikasi Prezidenti Santyago Penyani kutib olish marosimi boʻldi.
—
В резиденции «Куксарой» состоялась церемония встречи Президента Республики Парагвай Сантьяго Пенья, прибывшего в нашу страну с официальным визитом.
#Mirziyoyev#tashrif#Paragvay#marosim
Prezident.uz|Facebook|Instagram|YouTube|X
Koʻksaroy qarorgohida Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev va Paragvay Respublikasi Prezidenti Santyago Penya rasmiy delegatsiyalar ishtirokida muzokara oʻtkazdilar.
—
В резиденции «Куксарой» состоялись переговоры Президента Республики Узбекистан Шавката Мирзиёева с Президентом Республики Парагвай Сантьяго Пенья с участием официальных делегаций.
#Mirziyoyev#tashrif#Paragvay#muzokara
Prezident.uz|Facebook|Instagram|YouTube|X
Koʻksaroy qarorgohida mamlakatimizga rasmiy tashrif bilan kelgan Paragvay Respublikasi Prezidenti Santyago Penyani kutib olish marosimi boʻldi.
—
В резиденции «Куксарой» состоялась церемония встречи Президента Республики Парагвай Сантьяго Пенья, прибывшего в нашу страну с официальным визитом.
#Mirziyoyev#tashrif#Paragvay#marosim
Prezident.uz|Facebook|Instagram|YouTube|X
Paragvay Prezidenti “Olimpiya shaharchasi”ga tashrif buyurdi
Shu kunlarda Paragvay Respublikasi Prezidenti Santyago Penya mamlakatimizga rasmiy tashrif bilan bo‘lib turibdi. Martabali mehmon bugun “Olimpiya shaharchasi”ga tashrif buyurib, mamlakatimizda sport sohasida olib borilayotgan islohotlar bilan tanishdi.
—
Президент Парагвая посетил «Олимпийский городок»
В эти дни Президент Республики Парагвай Сантьяго Пенья с официальным визитом находится в Ташкенте. Сегодня высокопочётный гость посетил «Олимпийский городок» и ознакомился с реформами, проводимыми в нашей стране в сфере спорта.
#FIA#Paragvay#OlimpiyaShaharchasi
👉@OlympicUz
olympic.uz I YouTube I Instagram I
Paragvay Respublikasi Prezidenti Santyago Penya 11-13-dekabr kunlari rasmiy tashrif bilan O‘zbekiston Respublikasida boʻladi.
—
Президент Республики Парагвай Сантьяго Пенья 11-13 декабря посетит с официальным визитом Республику Узбекистан.
#Mirziyoyev#tashrif#Paragvay#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston bilan Paragvay oʻrtasida oliy darajadagi muzokaralar yakunlangach, Koʻksaroy qarorgohida daraxt ekish marosimi boʻlib oʻtdi.
—
В завершение узбекско-парагвайских переговоров на высшем уровне в резиденции «Куксарой» состоялась церемония посадки дерева.
#Mirziyoyev#tashrif#Paragvay#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston bilan Paragvay oʻrtasida oliy darajadagi muzokaralar yakunlangach, Koʻksaroy qarorgohida daraxt ekish marosimi boʻlib oʻtdi.
—
В завершение узбекско-парагвайских переговоров на высшем уровне в резиденции «Куксарой» состоялась церемония посадки дерева.
#Mirziyoyev#tashrif#Paragvay#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
💠 O‘zbekiston va Paragvay: Tog‘-kon sanoati va geologiya sohasida hamkorlik masalalari
O‘zbekiston Respublikasi Tog‘-kon sanoati va geologiya vaziri o‘rinbosari U. Yusupov Paragvay Respublikasi Prezidenti Santyago Penya bilan Asunsyon shahrida bo‘lib o‘tgan O‘zbekiston Respublikasi delegatsiyasi uchrashuvida ishtirok etdi.
Uchrashuv davomida tog‘-kon va geologiya sohasida hamkorlikni rivojlantirish masalalari, qo‘shma geologiya-qidiruv ishlarini amalga oshirish istiqbollari, shuningdek, kritik minerallarni o‘rganish va o‘zlashtirish yo‘nalishlarida o‘zaro hamkorlik masalalari muhokama qilindi.
Tomonlar geologiya va yer qa’ridan foydalanish sohasidagi normativ-huquqiy bazani takomillashtirish, hamda ikki mamlakatning tegishli idoralari va ixtisoslashgan kompaniyalari o‘rtasida amaliy hamkorlikni kengaytirish yuzasidan fikr almashdilar.
🔹🔹🔹
💠Узбекистан и Парагвай: вопросы сотрудничества в горнодобывающей промышленностии геологии
Заместитель министра горнодобывающей промышленности и геологии Республики Узбекистан У. Юсупов принял участие во встрече делегации Республики Узбекистан с Президентом Республики Парагвай Сантьяго Пенья, состоявшейся в городе Асунсьон.
В ходе встречи были обсуждены вопросы развития сотрудничества в горно-геологической сфере, включая перспективы совместных геологоразведочных работ, а также взаимодействие в области изучения и освоения критических минералов.
Кроме того, стороны обменялись мнениями по вопросам совершенствования нормативно-правовой базы в сфере геологии и недропользования, а также расширения практического взаимодействия между профильными ведомствами и специализированными компаниями двух стран.
#kongeologiya#mingeo#xalqaro_hamkorlik#Paragvay#loyihalar#uchrashuv#investitsiyalar
Sayt|Telegram|Facebook|Instagram|X|YouTube