Что делать если нужно поставить какую-то 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
Hurmatli ayollar! CNC electric kompaniyasi nomidan sizni Xalqaro xotin-qizlar kuni bilan tabriklaymiz. Har bir kuningiz baxt va quvonchga to'la bo’lsin. Barcha ko’zlagan maqsadlaringizga erishishingizni, oilangizga farovonlik, muvaffaqiyat va yutuqlar tilaymiz. Sizlar — bizning hayotiy kuchimiz, muhabbat va go'zallik manbaisiz! Sizga va yaqinlaringizga chin qalbdan eng ezgu niyatlarimizni tilaymiz. 💐
Дорогие дамы! От имени компании CNC electric поздравляем Вас с Международным женским днем. Пусть каждый Ваш день будет наполнен счастьем и радостью. Желаем Вам достижения всех поставленных целей, семейного благополучия и успехов. Вы – наш источник жизненной силы, любви и красоты! От всей души желаем Вам и Вашим близким всего наилучшего. 💐
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#elcomelectric#elcom
Qadrli do'stlar!
2021 yil 18 iyun kuni CNC Uzbekistan jamoasi va Electro Group a'zolari bilan birgalikda Marg'ilon shahrida bo'lib o'tadigan seminar dasturimizga taklif etamiz. Seminarda ko'rgazmali qurollardan foydalangan holda taqdimotlar, labaratoriya sinov jarayolari va qiziqarli viktorina bo'lib o'tadi.
Manzil: Marg'ilon shaxri, Raqamli texnologiyalar markazi.
Murojat uchun telefonlar: +99891 666 7666, +99899 843 0030, +99899 844 0030
Дорогие друзья!
Приглашаем Вас на семинар, организованный командой CNС Uzbekistan и участниками Electro Group, который состоится 18 июня 2021 года в городе Маргилане. На семинаре будут представлены презентации с использованием наглядных пособий, результаты и процессы лабораторного тестирования и интересная викторина.
Адрес: г. Маргилан, Центр цифровых технологий.
Контактные телефоны: +99891666 7666, +99899 843 0030, +99899 844 0030
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика
Qadrli do'stlar, sizlarni chin qalbimizdan Navro'z bayrami bilan tabriklaymiz! Ushbu bahoriy kunda tuganmas baxt, xotirjamlik, ezgulik va farovonlik tilaymiz. Har bir oilada quvonch va farovonlik hukmron bo'lsin.
CNC Uzbekistan kompaniyasi nomidan har biringizga ko'rsatilgan ishonch, e'tibor va samarali hamkorlik uchun minnatdorlik bildiramiz.
Дорогие друзья, от всей души поздравляем Вас с праздником Навруз! В этот весенний день мы хотим пожелать Вам безграничного счастья, мира, добра и процветания. Пусть в каждой семье царит радость и благополучие. Компания CNC Uzbekistan благодарит каждого за оказанное доверие, проявленное внимание и плодотворное сотрудничество.
Telegram|Instagram|Facebook|Youtube|Website|Email
#21mart#navruz#cnc#cncelectric#cncuzbekistan#cnctashkent#elcomelectric#elcom
Aziz do'stlar! CNC electric Global Stroy do'konimizga barchangizni taklif qilib qolamiz!
+99899 881 22 10 Aziz
Дорогие друзья! Всех приглашаем на новый магазин CNC electric в торговом комплексе Global Stroy!
+99899 881 22 10 Азиз
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит
Assalomu alaykum qadrli do'stlar!
2021 yil 9 noyabr kuni "Do'stona futbol musobaqasi"ning yakuniy final bosqichi ajoyib va qiziqarli tarzda bo'lib o'tdi.
Natijalarga ko'ra:
1 - o'rinni Chint electric jamoasi
2 - o'rinni CNC electric jamoasi
3 - o'rinni Dusel electrical jamoasi
4 - o'rinni Prime electrotechnica jamoasi
5 - orinni Electro group jamoasi egalladi.
Shu o'rinda musobaqa tashkilotchilari, ishtirokchilari va muxlislariga o'z minnatdorchiligimizni bildirib qolamiz. Kelgusida shu kabi musobaqalarni tez-tez o'tkazish va do'stona kayfiyatni saqlab qolamiz degan umitdamiz.
Доброго времени суток дорогие друзья!
9 ноября 2021 года красиво и увлекательно прошёл финал «Товарищеского турнира по футболу».
По результатам:
1 место команда Chint electric
2 место команда CNC electric
3 место команда Dusel electrical
4 место команда Prime electrotechnica
5 место команда Electro group
Хотим выразить благодарность организаторам, участникам и болельщикам конкурса. Надеемся в будущем проводить подобные соревнования чаще и поддержать дружескую атмосферу.
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит
Impulsli rele YCIR - ikki simli tarmoqni elektr yoritgich jihozlarini bir nechta joylardan parallel ravishda ulangan kalitlarga biriktirmasdan boshqarish uchun mo'ljallangan. Bu sizga nazorat qilish sxemasini soddalashtirishga, tarmoqdagi yo'qotishlarni kamaytirishga, shuningdek, kabelning sonini kamaytirishga imkon beradi.
Импульсные реле YCIR предназначены для управления по двухпроводной сети осветительным и другим электротехническим оборудованием из нескольких мест при помощи параллельно соединенных выключателей без фиксации. Это позволяет упростить схему управления,уменьшить потери в сети, а также сократить количество прокладываемого кабеля по сравнению со схемой с проходными выключателями.
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит
AVR monoblok YCS1 - asosiy va zahira kirishiga ega bo'lgan elektr ta'minot tizimiga ulangan istemolchini uzluksiz elektr ta'minoti bilan ta'minlash uchun mo'ljallangan.
Автоматический ввод резерва YCS1 предназначено для обеспечения резервным электроснабжением нагрузки, подключенной к системе электроснабжения, имеющей основной и резервный вводы.
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит
Ko'p funktsiyali avtomatik o’chirgich YCB9-ZF - peregruz, qisqa tutashuv, ochiq tok oqimi, masofadan yoqish va o'chirish, vaqt va boshqa funktsiyalarni o’z ichiga oluvchi qurilma.
Многофункциональный автоматический выключатель YCB9-ZF объединяет функции реле напряжения, перегрузки, короткого замыкания цепи, утечка, дистанционное включение и выключение, время, и т. д.
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит
Модульный выключатель нагрузки YCH6Z предназначены для оперативного управления участками электрических цепей. Выключатели производятся в одно-, двух-, трех четырёхколёсном исполнениях. Выключатели нагрузки YCH6Z выполнены в новом, уникальном дизайне корпуса из не горюющей пластмассы.
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит
Модульная арматура сигнальная ADM-1\ADM-3 - Аппаратура управления предназначается для оперативного управления технологическим оборудованием и индикации состояния электрических цепей и устанавливается, например, в DIN-рейках, вводно-распределительных устройствах, устройствах автоматического включения резерва, станциях и т.д.
Устройство защиты от импульсных перенапряжений YCS6- D\C (УЗИП) предназначено для ограничения переходных перенапряжений и отвода импульсов тока в сетях переменного тока частоты 50 Гц. Возможна коммутация алюминиевым и медным проводом.
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит
Qadrli do'stlar!
Sizning etiboringizga CNC ELECTRIC kompaniyasining quyidagi yangi mahsulotlarini taqdim etamiz:
- Modulli yorug’lik signal armaturasi ADM-1\ADM-3
- Impulsli kuchlanish himoya qilish qurilmasi YCS6- D \ C
- Uch tomonli perekluchatel YCBZ
- Modulli yuklama o’chirgichi YCH6Z
- Ko'p funktsiyali avtomatik o’chirgich YCB9-ZF
- AVR monoblok YCS1
- Impulsli rele YCIR
Qo'shimcha texnik tavsif va maslahat uchun ☎️ 71 228 02 11 raqamiga qo'ng'iroq qilishingiz mumkin
Дорогие друзья!
Представляем Вашему внимаю следующие новинки продукции от компании CNC ELECTRIC:
- Модульная арматура сигнальная ADM-1\ADM-3
- Устройство защиты от импульсных перенапряжений YCS6- D \ C
- Трёхпозиционный переключатель YCBZ
- Модульный выключатель нагрузки YCH6Z
- Многофункциональный автоматический выключатель YCB9-ZF
- АВР моноблок YCS1
- Импульсное реле YCIR
За более подробной технической характеристикой и консультацией можете связаться по телефону ☎️ 71 228 02 11
Telegram|Instagram|Facebook|Youtube|Website|Email
#cnc#cncelectric#cncuzbekistan#cnctashkent#giant#elcomelectric#elcom#автоматика#электрика#электрик#электрощит