Что делать если нужно поставить какую-то 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
🚽Ич кетишини даволаш учун 3 та самарали восита!
3️⃣Учинчиси - Пробиотиклар!
Улар зарарли бактериялар билан ичак деворига ўрнашиш учун рақобат қилади ва иммун тизимни кучайтиради.
2️⃣Иккинчиси - Руҳ моддаси, яъни цинк.
Болаларга кунига 20 миллиграмдан берилганда диарея кунларини ва оғирлик даражасини 40% гача камайтиради! Катталарга бемалол 2 баробар кўп берса бўлади.
1️⃣Биринчиси ва асосийси (!) - бу регидратация учун эритмалар! Мисол учун, ҳамма биладиган ОРСА ёки Регидрон.
Лекин диареяда айнан руҳ сақловчи "ОРСА цинк" деган турини ичганингиз маққул. Шунда иккита қуённи битта ўқ билан урган бўласиз.
🔬Тадқиқотлар кўрсатган-ки, шундай таркибли суюқликларни ичишни ўзи 90 фоизгача сувсизланиш билан боғлиқ ўлимларни олдини олиши мумкин.
Манбаалар:
bit.ly/3Ofv7ab
bit.ly/3NWpegC
bit.ly/3K8gBhX
bit.ly/3DgiMMx
bit.ly/44D77TQ
bit.ly/3XPS3QB
#infection
❗️Ич кетишида бу тўртта ишни қилманг!
1️⃣Биринчидан, ўзбошимчалик билан уйда инъекция ва капельницаларни олманг! Ўткир аллергик реакция бериб қолса, бу ўлимга ҳам олиб келиши мумкин.
2️⃣Иккинчидан, иситма ёки қонли ахлат бўлганда лоперамид (Имодиум) ичманг. Акс ҳолда у ичак ҳаракатини секинлаштириб инфекцияни организмда ушланиб қолиши ва ҳолатни оғирлашишига олиб келиши мумкин.
3️⃣Учинчидан, сабабини билмай туриб антибактериал препаратларни қабул қилманг, мисол учун мана булар: Эрсефурил, Стопдиар, Фуразолидон, Цифпрофлоксацин.
Диареяларни тахминан ярмини вируслар чақиради. Демак кўпинча антибиотикларни бекорга ичасиз. Беҳуда ичилган антибиотик эса зарарли бўлади.
Кечиши ўхшаш бўлсада, вирус билан бактериал жараённи баъзи фарқлари бор. Тепадаги жадвалдан кўриб олсангиз бўлади.
4️⃣Ва оҳирги, тўртинчи ҳато - мана бу белгилар бўлганида шифокорга мурожаат қилмаслик:
- қон аралаш ахлат
- бош айланиши
- тана ҳарорати 40 дан баланд
- ўта кучли қорин оғриғи
- сийдик кескин камайиши ёки келмаслиги
- диарея 2 кундан ортиқ давом этиши
- кучли уйқучанлик ёки хушни йўқотиш
🔤Кейинги сафар уйда кўллаш учун самарали воситалар ҳақида гапириб бераман.
Манбаалар:
bit.ly/3Ofv7ab
bit.ly/3NWpegC
bit.ly/3K8gBhX
bit.ly/3DgiMMx
bit.ly/44D77TQ
bit.ly/3XPS3QB
#infection
❓ЛЯМБЛИЯНИ ДАВОЛАШ КЕРАКМИ?
Бугун яна дунёингизни барбод қилишимга тўғри келади...
🤷🏻♂️ Кўпчилик инсонлар бу паразитдан бекорга даволанади. Уни устига жуда кўп ҳолларда у одамни ўзидан, оила аъзоларидан ва уйидаги предметлардан қайта юқади (шунинг учун қайта-қайта даволаниб юрасиз).
✅ Лямблия кўп ҳолатларда бир неча ҳафта ичида ўзи ўтиб кетади. Яъни кўпчиликда даво талаб қилмайди. Жуда оз миқдордаги инсонларда безовталик бўлиб уни бошқа сабаби топилмаса, лямблия даволанади. Қуйидаги симптомлар лямблиозда кузатилиши мумкин:
- қорин оғриғи
- кўнгил айниши
- диарея (ич кетиши)
- сувсизланиш (кучли диарея сабабли)
- кучли чарчоқ
👩🏾🦲Лекин бундай ифодаланган лямблиоз кўпроқ камбағал Африка давлатларида кузатилади. Ўзбекистонни жанубий қисмларида ҳам бўлиши мумкин.
🩺Doctor Ziyod | #infection
🔎Мана бу раҳмингизни келтирадиган кўзлар билан сизга қараб турган паразит лямблия бўлади 😅
(аслида у кўзлар эмас, ҳужайра ядроси)
🩺Doctor Ziyod | #infection
1221 кун аввал тарқала бошлаган ва 20 миллион одамни олиб кетган SARS-CoV-2 вирусининг пандемияси тугади. Бу ҳақида Жаҳон соғлиқни сақлаш ташкилоти ҳабар берди.
Вирус ҳеч қаерга йўқолмади. Шунчаки одамларда унги нисбатан турли даражада иммунитет ҳосил бўлди ва буни ортидан касаллик енгилроқ кечиб ўлимлар сони анча пасайди.
🩺Doctor Ziyod | #infection
❓Вируслар қаердан пайдо бўлади?
🔸Улар атроф-муҳитда сақланади ва доимий одамдан одамга юқиб жамиятда айланиб юради. Баъзи мавсумлар уларга қулайроқ бўлгани учун, кўпроқ учрайди (шамоллаш вируслари учун - куз, қиш).
❓Нима учун терлаганимда (бошимни ювганимда) шамоллаб қоламан?
🔸 Бу шунчаки тасодиф. Сиз ўша терлаган пайтингизга қадар вирус юқтириб олгансиз ва касалликнинг биринчи белгилари терлашдан кейинги даврга тўғри келиб қолган.
❓Нима сабабдан совуқ ҳавода шамоллаш кўп учрайди?
🔸 Совуқ мавсумда вируслар кўпроқ тарқалади. Асосий фактор - кўп вақтимизни ёпиқ биноларда ўтказишимиз. Бунда касал инсон чиқарган нафасдан миллиардлаб вирус парчалари хонадаги ҳавога чиқиб, атрофдагиларга юқади. Демак, совуқда шамоллашингиз ҳам шунчаки тасодиф, яъни сиз кимдандир юқтириб олгансиз ва касаллик белгилари шунчаки совуққа чиққанингиздан кейинги даврга тўғри келиб қолгани учун совуқни сабабчи кўрасиз (Негадир одамлар совуққа чиқиб, касал бўлмаган пайтларини сезишмайди. "Кеча енгилроқ кийингандим, шамолламай қолдим" деганини ҳеч эшитганмисиз? 😉).
❗️Бувиларингиз буни тушунишмаган, билишмаган. Шунинг учун бу совуқдан, терлашдан деб ўйлашган.
ШАМОЛЛАШ сўзи ҳам ўзи хато, одамлар ҳали касалликнинг асл сабабини тушунмаган даврларда берилган ном. Ўткир респиратор вирусли инфекция (ЎРВИ) дейиш тўғри бўлади.
#infection#pediatrics