Что делать если нужно поставить какую-то 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
CSS’da cursor uchun mini-shpargalka
Veb-saytingizdagi elementlarga sichqoncha olib borganda kursorga turli ko‘rinishlar berish mumkin.
Masalan:
▪️cursor: pointer; — qo‘lcha bo‘lib chiqadi, bu element bosiladiganligini bildiradi.
▪️cursor: none; — kursorni butunlay yashiradi.
Quyidagi rasmda esa 16 ta eng ko‘p ishlatiladigan cursor turlari jamlangan.
💡Shu postni saqlab qo‘ying, keyingi safar dokumentatsiyani qidirib o‘tirmaysiz!
#CSS#Frontend#WebDasturlash
💻@dasturlash_hayoti— dasturchilar hayoti va dasturlash olami haqida qiziqarli loyiha!
Web Skills — Veb dasturchilar uchun barcha ko‘nikmalar bir joyda!
Yangi boshlayapsizmi yoki allaqachon tajribali dasturchimisiz — bu platforma har ikkala holat uchun ham foydali!
Web Skills — bu veb-ishlab chiqish bo‘yicha zarur barcha ko‘nikmalarni o‘rganish, tartib bilan rivojlantirish va amaliyotda qo‘llashga yordam beradigan bepul manba.
Har bir mavzu bo‘yicha o‘quv resurslari, maqolalar va foydali havolalar jamlangan. Frontend, backend, version control, SEO, accessibility va yana ko‘p yo‘nalishlar bo‘yicha bilimlaringizni mustahkamlab boring!
Platformani ko‘rish:
👉andreasbm.github.io/web-skills
💡 Dasturlashda yo‘nalishingizni topishga va o‘rganishni tizimli qilishga yordam beradi!
#WebDasturlash#Frontend#Backend
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅
🌐HTTP Status Kodlari – qisqa va tushunarli
Veb-sahifa ishlamay qolganda yoki server javob bermaganda, biz ko‘pincha 3 xonali HTTP status kodlarini ko‘ramiz. Eng mashhurlari:
✅ 200 — Muvaffaqiyatli bajarildi
🔄301 — Doimiy ravishda boshqa manzilga ko‘chirildi
↪️302 — Vaqtinchalik boshqa manzilga yo‘naltirildi
⚠️400 — Noto‘g‘ri so‘rov
🔑401 — Avtorizatsiya talab qilinadi
🚫403 — Taqiqlangan
❌404 — Sahifa mavjud emas
💥500 — Server ichki xatolik
🚧 502 — Noto‘g‘ri shlyuz
⏳503 — Server vaqtincha ishlamayapti
💡 404 ni hammamiz ko‘rganmiz, lekin 301 va 302 farqini bilarmidingiz? 😉
#WebDasturlash#DasturchiUchun#ProgrammerLife
💻@dasturlash_hayoti— dasturchilar hayoti va dasturlash olami haqida qiziqarli loyiha!
Laravel rasmiy sayti yangilandi! 🆕
2025-yil 24-fevral kuni Laravel 12 chiqishi bilan birga Laravel rasmiy sayti ham to'liq yangilandi!
Yangiliklar:
✅ Yangi zamonaviy va intuitiv dizayn
✅ Laravel ekotizimi to'liq aks ettirilgan
✅ Boshlang'ich to'plamlar va vositalarga tezkor kirish
✅ Ishlash tezligi va UX yaxshilandi
🌐 Yangi saytda Laravel 12 hujjatlari va boshqa foydali ma'lumotlarni oson topishingiz mumkin!
🔗 Ko'rish uchun:laravel.com
Laravel yangiliklarini kuzatib boring va loyihalaringizni yanada samarali qiling!
#Laravel#Yangiliklar#WebDasturlash🚀
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅
HTML, CSS va JavaScript bo‘yicha eng aniq hujjatlar!
Sizga foydali manba: doka.guide — bu yerda HTML, CSS, JavaScript va boshqa web texnologiyalar bo‘yicha:
✅ Tushunarli va mualliflar tavsiyasiga asoslangan qo‘llanmalar
✅ Amaliy misollar va kodlar
✅ Interaktiv elementlar (natijani darhol ko‘rish imkoniyati)
✅ Foydali cheat sheet (qo‘llanma varaqlari) mavjud!
Web dasturlashni o‘rganayotganlar uchun juda foydali sayt!👨💻👩💻
#WebDasturlash#html#css#js
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅
#HTML#JAVASCRIPT#WebDasturlash#Frontend#DasturlashHayoti
👩💻 JavaScript talab qilmaydigan 5 ta kuchli HTML atributlari
Ko‘p hollarda oddiygina HTML atributlari orqali ham katta qulayliklarga erishish mumkin. Quyida ularning eng foydali 5 tasini ko‘rib chiqamiz:
1️⃣spellcheck— Imlo tekshiruvi
Matn maydonida foydalanuvchi yozgan so‘zlarni brauzer imlo qoidalari asosida tekshiradi.
✅ Xatolik qizil chiziq bilan belgilanadi.
<textarea spellcheck="true"></textarea>
❌ Agar kerak bo‘lmasa, tekshiruvni o‘chirib qo‘yish ham mumkin:
<textarea spellcheck="false"></textarea>
2️⃣download— Faylni yuklab olish
Oddiy <a> tegi orqali foydalanuvchiga faylni to‘g‘ridan-to‘g‘ri yuklab olish imkonini beradi.
<a href="file.pdf" download>📥 PDF-ni yuklab olish</a>
👉 Brauzer faylni ochib bermaydi, balki darhol yuklab olishni boshlaydi.
3️⃣poster— Video uchun eskiz rasmi
Video ijro etilmaguncha foydalanuvchiga rasm (poster) ko‘rinadi. Bu sayt dizaynini chiroyli qiladi.
<video controls poster="preview.jpg">
<source src="video.mp4" type="video/mp4">
</video>
👉 Bu foydalanuvchiga oldindan video haqida tasavvur beradi.
4️⃣translate— Tarjimaga cheklov qo‘yish
Sayt avtomatik tarjima qilinayotganda, ayrim matnlarni asl ko‘rinishda qoldirish mumkin.
<p translate="no">OpenAI</p>
👉Bu brend nomlari yoki maxsus terminlar tarjima bo‘lib ketmasligi uchun juda foydali.
5️⃣autocomplete— Avtomatik to‘ldirish
Brauzer foydalanuvchining oldingi yozuvlarini eslab, input maydonini to‘ldirishga yordam beradi.
<form>
<input type="text" name="name" autocomplete="on" placeholder="Ismingiz">
<input type="email" name="email" autocomplete="off" placeholder="Emailingiz">
</form>
✅ Bu foydalanuvchiga vaqtni tejaydi.
❌ Maxfiy joylarda (masalan, kod yoki parol maydoni) uni o‘chirib qo‘yish mumkin.
📌 Ko‘rinib turibdiki, faqatgina HTML atributlari yordamida ham ko‘plab qulayliklarni yaratish mumkin, JavaScript shart emas!
💻@dasturlash_hayoti— Dasturchilar uchun eng kerakli maslahatlar va foydali kontent
Dasturchi bo‘lishni xohlaysanmi? Unda bunga tayyor bo‘l😂
1️⃣“Bugun 10 ta task yopaman” deysan
Soat 11:00 — bitta vergul xato chiqadi 😭
2️⃣Kod ishlamayapti
30 minut debug qilasan…
Oxiri bilasan: id o‘rniga ID yozgansan 🤦♂️
3️⃣ Internet o‘chsa — hayot ma’nosiz
ChatGPT yo‘q = 70% bilim ham yo‘q 😂
4️⃣Git conflict chiqsa
O‘zingni NASA serverini buzib qo‘ygandek his qilasan 💥
5️⃣“Bu oddiy loyiha” deyishadi
Oddiy loyiha degani:
Login, register, admin panel, to‘lov tizimi, API, mobile versiya 😅
6️⃣ Deadline yaqinlashsa
Bir kunda 3 kunlik energiya paydo bo‘ladi ⚡️
7️⃣Kod ishlagan payt
O‘zingni xuddi hacker kinodagi bosh qahramondek his qilasan 😎
Dasturchilik — bu kasb emas.
Bu — sabr testi 😂
Agar shunaqa holatlar sizda ham bo‘lsa:
Reaksiya qoldiring 👇😄
#dasturchihayoti#programmerlife#itmem#webdasturlash#backend#frontend
💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉
#DasturlashHayoti#ITResurslar#WebDasturlash#Frontend#Tools#DasturchiMaslahati#Kodlash#Top10
Har bir dasturchi bilishi shart bo‘lgan TOP-10 sayt!🔥
Salom, Dasturlash Hayoti obunachilari! 👋
Ish samaradorligini oshirish, bilimni sinash va qiyin muammolarni hal qilish uchun doimo yangi vositalar kerak. Biz siz uchun hayotingizni osonlashtiradigan, eng foydali 10 ta veb-resursni jamladik!
Bilimni sinovchi va ishni tezlashtiruvchi saytlar
1️⃣Kod mahoratini oshirish (Practice): O'zingiz bilgan dasturlash tilingiz bo'yicha turli murakkablikdagi kod masalalarini yechib, bilimingizni sinab ko'rish imkoniyatini beruvchi ajoyib sayt.
👉🏻https://codewars.com/
2️⃣CSS Gridni Tushunish (Frontend): CSS Grid'ga oid ajoyib misollarni vizual tarzda ko‘rib, uni osongina o'rganish imkoniyatini beruvchi interaktiv vosita.
👉🏻https://griddy.io/
3️⃣ Animatsiyalar Ustasi (UI/UX): Sizga CSS orqali murakkab animatsiyalarni yaratish, ko‘rish va tayyor kodni ishga tushirishda yordam beradigan ajoyib generator.
👉🏻https://keyframes.app/animate
4️⃣ Kod Tarjimoni (Konverter): Kodlarni bir dasturlash tilidan boshqa dasturlash tiliga o'tkazib (transpile qilib) beruvchi qulay vosita. Yangi tilni o‘rganishda juda foydali!
👉🏻https://ide.onelang.io/
5️⃣VSCode Brauzerda (Qulaylik): VSCode muhitini o'rnatmasdan, to'g'ridan-to'g'ri brauzerning o’zida kod yozish va fayllar bilan ishlash imkoniyatini beruvchi rasmiy manba.
👉🏻https://vscode.dev/
Interfeys va Dizayn (Ikonka Resurslari)
6️⃣Universal UI Ikonkalar (Open Source): Ochiq manbali CSS, SVG va Figma UI Ikonkalari mavjud, yuqori sifatli va bepul kutubxona.
👉🏻https://css.gg/
7️⃣Veb-dizayn Ikonkalari (Eng Mashhuri): Web dasturchilar uchun kerak bo'ladigan minglab vektor ikonkalari bor eng yaxshi sayt. De-fakto standart hisoblanadi.
👉🏻https://fontawesome.com/
Dasturchi o'rganishi shart bo'lgan qo'shimcha resurslar
8️⃣Texnik Hujjatlar Manbai (Must-Have): Web texnologiyalari (HTML, CSS, JavaScript, APIlar) bo'yicha eng ishonchli, to'liq va rasmiy hujjatlar markazi. Har bir web dasturchi uchun ensiklopediya.
👉🏻https://developer.mozilla.org/ (MDN Web Docs)
9️⃣ Jamoaviy Kod Boshqaruvi (Collaboration): Dunyodagi eng katta dasturchilar hamjamiyati va loyihalarni saqlash, versiyalarni nazorat qilish markazi. Loyihalaringizni bepul joylashtiring.
👉🏻https://github.com/
🔟Masofaviy Intervyu Amaliyoti (Career): Texnik intervyularga tayyorlanish uchun dasturchilar bilan birga real vaqt rejimida kod yozib mashq qilish imkoniyatini beruvchi platforma.
👉🏻https://leetcode.com/
💡Maslahat: Bu saytlarni brauzeringizda saqlab qo‘ying. Ular sizga doim kerak bo‘ladi!
Kommentlarda yozing: Bu ro‘yxatga yana qaysi saytlarni qo‘shgan bo‘lar edingiz? 👇
💻@dasturlash_hayoti — Dasturchilar hayoti, motivatsiya va IT olamidagi eng foydali maslahatlar shu yerda!