Python'da virtual muhit (venv)
Har loyiha turli kutubxonalar va ularning turli versiyalarini talab qilishi mumkin. Hammasini bitta joyga o’rnatsangiz, ular to’qnashadi. Virtual muhit (venv) shu muammoni yechadi: har loyiha uchun alohida, mustaqil Python muhitini yaratadi.
Muammo: umumiy o’rnatma
Aytaylik, A loyiha bir kutubxonaning eski versiyasini, B loyiha esa yangi versiyasini talab qiladi. Ikkalasini tizimga umumiy o’rnatsangiz — biri ikkinchisini buzadi. Bitta versiya ikkala loyihaga to’g’ri kelmaydi.
Yechim: venv yaratish
venv har loyiha uchun alohida “quti” yaratadi. Terminalda
loyiha papkasida:
python -m venv muhit
Bu muhit nomli papka yaratadi — unda loyihaning o’z Python’i va paketlari
saqlanadi. Endi uni faollashtirish kerak:
# Windows:
muhit\Scripts\activate
# Linux / macOS:
source muhit/bin/activate
Faollashgach, terminal boshida (muhit) yozuvi paydo bo’ladi — endi
o’rnatilgan paketlar faqat shu loyihaga tegishli bo’ladi.
Paket o’rnatish va tugatish
Muhit faol bo’lganda o’rnatilgan har narsa faqat shu loyihaga tegadi:
pip install requests
Ishni tugatgach, muhitdan chiqasiz:
deactivate
Amaliy mashq
Alohida muhit yarating:
- Yangi papka oching va ichida
python -m venv .venvbuyrug’ini bajaring; - muhitni faollashtiring (Windows uchun
activateskriptini ishga tushiring); pip listbilan o’rnatilgan paketlarni ko’ring — ro’yxat qanchalik qisqa?pip install requestsbilan bitta paket o’rnating va qayta tekshiring;deactivatebilan chiqing va yanapip listqiling.
5-qadamda requests ko’rinyaptimi? Bu venv nima uchun kerakligini
ko’rsatadi.
Qisqacha xulosa
- Virtual muhit (venv) — loyiha uchun alohida, mustaqil Python muhiti.
- Muammoni yechadi: turli loyihalarning paketlari to’qnashmaydi.
python -m venv muhit— yaratadi;activate— faollashtiradi.- Faol muhitda
pip installfaqat shu loyihaga o’rnatadi. muhitpapkasi Git’ga qo’shilmaydi; o’rnigarequirements.txtsaqlanadi.
Keyingi darslarda pip bilan paket boshqarish va boshqa amaliy mavzularni ko’ramiz.