Что делать если нужно поставить какую-то 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
O'zida barcha ezgu niyatlar, xalqlar an'anasi va qadr-qimmatlarini aks ettiruvchi ushbu muqaddas va muborak kunda CNC Uzbekistan jamoasi yurtdoshlarimizni va barcha mo'min-musulmonlarni mehr-muhabbat va sahovat bayrami — Qurbon Hayiti bilan chin yurakdan tabriklaydi! Ushbu ezgulik kuni xonadoningizga baraka, osoyishtalik va baxt olib kelsin! Ayyom kunda ko'zlar ko'ngil shodligiga, qalblar iymon nuriga, xonadonlar esa mehr nuriga to'lishini tilab qolamiz! Ezgu va sof niyatlar yil davomida sizlarni tark etmasin
В этот священный день праздника Курбан Хайит, отражающий в себе благородные цели , исторические обычаи, ценности и традиции нашего народа, команда CNC Uzbekistan поздравляет всех жителей республики и желает мира и процветания домам, душевного умиротворения и светлых надежд, чтобы все самые лучшие помыслы и добрые намерения сопровождали их путь весь год.
Пусть этот праздник принесет счастье, объединит все семьи, укрепит веру и станет поводом для радости!
#cnc#cncelectric#cncuzbekistan #2021
‼️Қадрли дўстлар!‼️
21 апрел кунидан бошлаб CNC Uzbekistan махсулотларни хавфсиз етказиб бериш ҳизматини таклиф килади.🚚
Сиз маҳсулотларимизга телеграм бот @CNC_Uzbekistan_bot ёки қуйидаги телефон рақамлари орқали буюртма беришингиз мумкин:
📱+998 99 8440030
+998 99 8430030
+998 99 8340030
🍀Сиз ва яқинларингизга узоқ умр ва сиҳат саломатлик тилаймиз!
——————————————————
‼️Дорогие друзья! ‼️
C 21 апреля CNC Uzbekistan предлагает безопасную доставку товаров до Вашей двери.🚚
Вы можете заказать товары через телеграм бот @CNC_Uzbekistan_bot или по следующим телефонным номерам:
📱+998 99 8440030
+998 99 8430030
+998 99 8340030
🍀Желаем Вам крепкого здоровья, берегите себя и своих близких!
#cnc#cncelectric#cncuzbekistan#cnctashkent
‼️Қадрли дўстлар!‼️
Коронавирус инфекцияси тарқалишини олдини олиш мақсадида, бизнинг Жомий бозоридаги дўконимиз 24-мартдан 10-апрелгача ёпиқ бўлади.
CNC Uzbekistan ўз мижозларини қадрлайди ва уйингизгача хавфсиз етказиб бериш ҳизматини таклиф килади.🚚
✅Биз сизларга онлайн тарзда товарни сотиб олишингиз учун Telegram bot ни таклиф этамиз —->>>> @CNC_Uzbekistan_bot
Уйингиздан чиқмаган холда маҳсулотларимизни ҳарид қилинг!
🍀Сиз ва яқинларингизга узоқ умр ва сиҳат саломатлик тилаймиз!
———————————————--
‼️Дорогие друзья! ‼️
В целях недопущения распространения коронавируса, наш магазин на рынке Джами будет закрыт с 24 марта по 10 апреля.
CNC Uzbekistan ценит своих клиентов, и предлагает безопасную доставку товаров до Вашей двери 🚚
✅Мы запускаем онлайн заказ товаров через Telegram bot —->>>> @CNC_Uzbekistan_bot
Заказывайте в нашем онлайн Telegram bot не выходя из дома!
🍀Желаем Вам крепкого здоровья, берегите себя и своих близких!
#cnc#cncelectric#cncuzbekistan#cnctashkent
🏣☎️Адреса и контактные телефоны официальных дилерских центров CNC electric в Узбекистане:
📍Ташкент:
Адрес: ул. Уста ширин 136
т. 71 228 02 11
м. 99 834 00 30
📍Коканд:
Адрес: г. Коканд, ул. А. Навои 142А
м. 94 137 08 08
м. 90 305 55 57
📍Маргилан:
Адрес: г. Маргилан, ул Хиёбон 292
м. 91 666 76 66
м. 90 132 55 06
📍Андижан:
Адрес: г. Андижан, строительный базар "Шинам" (быв. Трикотаж) магазин №233
м. 91 491 70 08
м. 99 970 67 00
📍Наманган:
Адрес: г. Наманган, ул. Туракурган 192А
м. 93 265 28 58
м. 99 977 24 14
📍Карши:
Адрес: г. Карши ул. Узбекистан 296
м. 97 310 70 81
м. 91 637 70 10
📍Ургенч:
Адрес: г. Ургенч, Галаба КФЙ
м. 95 602 42 24
м. 99 966 93 39
#cnc#cncelectric#cnctashkent#cncuzbekistan
Qadrli do'stlar!
CNC Uzbekistan jamoasi vatandoshlarimizni mamlakatimiz asosiy bayrami - Oʻzbekiston Respublikasi mustaqilligining 30 yilligi bilan chin qalbdan muborakbod etadi. Har bir oilaga farovonlik, mustahkam sogʻliq, ulkan muvaffaqiyatlar hamda yurtimiz yuksalishini tilaydi.
______
Дорогие друзья!
Коллектив CNC Uzbekistan искренне поздравляет своих соотечественников с главным государственным праздником – 30-летием Независимости Республики Узбекистан и желает каждой семье крепкого здоровья, благополучия, огромных успехов и свершений во благо нашей страны.
#cnc#cncuzbekistan#cncelectric#uzbekistan
Азиз дўстлар ва ҳамкасблар!
Сизга катта мамнуният билан "Фаол сафдо ва мижоз эътирозларини ўрганиш хамда ишлаб чиқиш усуллари" мавзусидаги сўнгги ўқув-семинаридан видео репортажни тақдим этмоқчимиз!
Дорогие друзья и коллеги!
С огромным удовольствием хотим представить вам видеоотчет с прошедшего семинара-тренинга на тему "Активные продажи и техника отработки возражений клиентов".
🌐website: www.cncele.uz, www.elcom.uz
📧e-mail: [email protected]
Instagram —»» https://www.instagram.com/cnc_uzbekistan/
Facebook —»» https://www.facebook.com/electromaxgroup/
Telegram —»» https://t.me/electromaxgroup
#cnc#cncelectric#cncuzbekistan#cnctashkent#электротехническаяпродукция
Ассалом алейкум қадирли дўстлар!
Сизга шуни мамнуният ила айтмоқчимизки, 31 июль куни "SKB Energy Company" лабораториясида эксперт Сарвар Қурбонов ва Шерали Исаков билан биргаликда CNC Electric компанияси электротехник махсулотларини текширув-синов амалиётни ўтказдик! Мархамат ушбу синов амалиётни видеосини кўришингиз мумкин.
CNC Electric - бу ишончлийлик, аниқлик ва юқори сифат демакдир!
Добрый день друзья и коллеги!
Рады сообщить что 31 Июля совместно с лабораторией "SKB Energy Company", с экспертами - Сарваром Курбоновым и Шерали Исаковым провели испытания электротехнических продуктов от компании CNC Electric! Просим ознакомиться с видеозаписями во вложении.
CNC Electric - это надежность, точность и высшее качество!
🌐website: www.cncele.uz, www.elcom.uz
📧e-mail: [email protected]
Instagram —»» https://www.instagram.com/cnc_uzbekistan/
Facebook —»» https://www.facebook.com/electromaxgroup/
Telegram —»» https://t.me/electromaxgroup
#cnc#cncelectric#cncuzbekistan#cnctashkent#электротехническаяпродукция
Промежуточные реле применяются в схемах управления для коммутации силовых цепей от источника с малым током. Также они нужны для сборки схемы удержания контактов, повторения сигнала и вывода на индикаторы, дублирование на выносные пульты управления, и т. д.
Очень часто данные аппараты используют в противоаварийных системах, промышленном оборудовании, устройстве релейной защиты и на электроэнергетических объектах.
Для более подробной информации просим Вас посетить наш магазин или обратиться к нам по указанным телефонам.
🏫Адрес: Ташкент, ул. Уста Ширин, 136.
📱Телефоны:
(99) 844-00-30 Эргаш
(99) 843-00-30 Джахонгир
(95) 169-22-10 Магазин
📠факс/офис: (71) 228-02-11
🌐website: www.cncele.uz, www.elcom.uz
📧e-mail: [email protected]
Instagram —»» https://www.instagram.com/cnc_uzbekistan/
Facebook —»» https://www.facebook.com/electromaxgroup/
Telegram —»» https://t.me/electromaxgroup
#cnc#cncelectric#cncuzbekistan#cnctashkent#электротехническаяпродукция
Реле времени — реле, предназначенное для создания независимой выдержки времени и обеспечения определённой последовательности работы элементов схемы. Реле времени применяется в случаях, когда необходимо автоматически выполнить какое-то действие не сразу после появления управляющего сигнала, а через установленный промежуток времени.
Для более подробной информации просим Вас посетить наш магазин или обратиться к нам по указанным телефонам.
🏫Адрес: Ташкент, ул. Уста Ширин, 136.
📱Телефоны:
(99) 844-00-30 Эргаш
(99) 843-00-30 Джахонгир
(95) 169-22-10 Магазин
📠факс/офис: (71) 228-02-11
🌐website: www.cncele.uz, www.elcom.uz
📧e-mail: [email protected]
Instagram —»» https://www.instagram.com/cnc_uzbekistan/
Facebook —»» https://www.facebook.com/electromaxgroup/
Telegram —»» https://t.me/electromaxgroup
#cnc#cncelectric#cncuzbekistan#cnctashkent#электротехническаяпродукция