Что делать если нужно поставить какую-то 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
🆕Достор, Tunduk тиркемеси менен электрондук кол тамга алуу болуп көрбөгөндөй жеңил 🙌
Дал ушул видеодо биз баардык пооцесстерди көрсөтүп, айтып беребиз, ошондо сиз оңой жана тез эле кол тамгаңызды ала аласыз.
#tunduk
Биздин эң баалуу жана алмаштырылгыс ресурсубуз — бул убакыт. Үй-бүлөбүзгө, жаккан ишибизге же көптөн күткөн эс алууга арнай турган нерсе болуп эсептелет. Демек, аны туура пайдалануу – бул жөн гана кеңеш эмес, азыркы замандын талабы десек болот.
Tunduk тиркемеси менен, мурда чексиз документтерди толтурууга, кезекке турууга жана ар кандай маалымкаттарды күтүүгө сарпталган сааттарыңызды үнөмдөйсүз. Эми бардык маанилүү процесстер бир нече мүнөттүн ичинде чечилет 👍
Видеобузда, ар бирибиз үчүн эң маанилүү нерсе - баалуу убакыт жөнүндө кеп кылдык. Анткени, аны кайтарыш мүмкүн эмес, а бирок сактай алабыз.
Tunduk менен ыңгайлуулукту жана эффективдүүлүктү тандаңыз!
#tunduk
📍Друзья, в Tunduk доступна удобная услуга — онлайн подача заявления на повторное получение паспорта!
‼️Обращаем внимание, что эта услуга предназначена только для владельцев ID-паспортов образца 2017 года (синего цвета). Она не подходит для тех, кто получает паспорт впервые, а рассчитана на тех, кому нужно заменить документ в связи с истечением его срока действия.
🔗В нашем видео вы найдете подробную инструкцию по использованию этой услуги.
#tunduk
👍Кыргызстанцы все чаще выбирают приложение Tunduk для удобного доступа к государственным услугам ✔️
Сегодня Эркайым Ахматова, которая активно пользуется #Tunduk уже несколько лет, расскажет о своих впечатлениях и о плюсах приложения, которое делает повседневные задачи проще и быстрее.
#Tunduk
🔻Tunduk мобилдик тиркемесиндеги санариптик жетишкендик.
⚡️3 миллиарддан ашуун маалымат алмашуу — (3 006 846 764) Tunduk ведомство аралык электрондук өз ара аракеттешүү системасы аркылуу мамлекеттик жана коммерциялык мекемелердин ортосунда орун алган!
Tunduk жарандарга ыңгайлуу шарт түзүш үчүн талыкпай эмгектенип, ар бирибиздин жашообузду жөнөкөйлөштүрүп, жакшыртуу аракетин көрүүдө. Tunduk системасы аркылуу мамлекеттик кызматтарды алуу тез, жеңил жана ыңгайлуу болуп калды, бул убакытты жана адам ресурсун үнөмдөйт.
Учурда системада 1 343 түрдүү кызмат бар жана ага 311 катышуучу кошулган. Бул иш кагаздарды чогултуу процессин кыйла жеңилдетип, жарандардын мамлекеттик кызматтарды алуу үчүн справкаларды чогултуу зарылчылыгын жокко чыгарып, ачык-айкындуулукту камсыз кылат.
___
✅Кызматтарды жана справкаларды алуу процедурасын аз убакыттын ичинде ишке ашырса болот. Бул жарандардын күнүмдүк жашоосун бир топ жеңилдетет.
#tunduk
Цифровой прорыв #Tunduk!
⚡️ Более 3 миллиардов (3 006 846 764) — именно столько обменов данных произошло между государственными и коммерческими организациями через Систему Межведомственного Электронного Взаимодействия «Түндүк» (СМЭВ)!
#Tunduk неустанно трудится на благо граждан, направляя свои усилия на упрощение и улучшение жизни каждого из нас. Благодаря внедрению системы Түндук получение услуг стало моментальный, более легким и удобным, что позволяет экономить время и ресурсы.
В системе на сегодняшний день доступно 1343 различных сервисов, к ней уже подключены 311 участников. Это существенно сокращает бумажную волокиту и избавляет граждан от необходимости собирать справки для получения государственных услуг, делая процессы более прозрачными и удобными.
___
✅Услуги и справки становятся доступными быстро, что значительно улучшает повседневную жизнь граждан.
#tunduk
📍“Бүгүнкү күндө Tunduk тиркемесин 2,5 миллиондон ашык адам көчүрүп алды. Анын 1 миллион 800 миңи — активдүү колдонуучу”
🔰Бул тууралуу «Tunduk» мамлекеттик мекемесинин директорунун орун басары Рахат Жусумамбетова Sputnik Кыргызстан радиосунун эфиринде маек куруп жатып билдирди, жана дагы мекеменин электрондук порталына жаңы кызматтарды киргизүү үчүн активдүү иштер жүргүзүлүп жатканын баса белгиледи.
Дагы көптөгөн кызыктуу маалыматты, дал ушул интервьюдан ала аласыз!
#Tunduk
TUNDUK сандар менен 💻
TUNDUK системасы жашообуздун ажырагыс бөлүгү болуп калды!
Мобилдик тиркеме аркылуу 2,5 миллиарддан ашуун маалымат алмашуу орун алып, 2,5 миллион кыргызстандык Tunduk мобилдик тиркемесин жүктөп, азыркы тапта активдүү колдонуп жатышат.
Электрондук кызмат көрсөтүүлөрдүн мамлекеттик порталы жана мобилдик тиркеме жарым жалды 2,5 миллиондон ашык мамлекеттик кызмат көрсөткөн!
Биринчи кезекте, жарандар өз убактысын, каражаттарын жана ресурстарын үнөмдөштү.
TUNDUK – ыңгайлуулук, эффективдүүлүк жана санариптик келечекке карай умтулуу!
#tunduk#тундук
‼️Уважаемые друзья, в случае если у вас заблокировано и недоступно приложение Tunduk, это связано с тем, что в вашем смартфоне включен VPN.
📍В связи с этим для использования полных возможностей приложения Tunduk вам необходимо отключать VPN на вашем устройстве!
📲После отключения VPN, все услуги в мобильном приложении Tunduk станут вновь доступны, и вы сможете пользоваться приложением без препятствий.
#tunduk#тундук