Python'da virtual environment va pip: loyihani to'g'ri sozlash

Saqlab olindi !

Python'da virtual environment va pip: loyihani to'g'ri sozlash

Ko'p Python o'rganuvchilar bir xil xatoni qiladi: barcha paketlarni global muhitga o'rnatadi. Bu bir loyihada ishlaydi, lekin ikkita loyiha turli versiyani talab qilganda — muammo boshlanadi. Virtual environment bu muammoni to'liq hal qiladi.

Muammo nima — konkret misol

Loyiha A: Django 3.2 kerak
Loyiha B: Django 4.2 kerak

Global o'rnatish:
pip install django==3.2   ← Loyiha A ishlaydi
pip install django==4.2   ← Loyiha A buziladi!

Virtual environment bilan har bir loyihaning o'z alohida "quticha"si bo'ladi — biri ikkinchisiga ta'sir qilmaydi.

Virtual environment yaratish

# Loyiha papkasiga kiring
cd mening_loyiham

# Virtual environment yarating ("venv" nom — an'anaviy)
python -m venv venv

# Fayl tuzilishi:
# mening_loyiham/
#   venv/          ← bu papkani GitHub'ga yuklamang!
#   main.py

Faollashtirish

# Windows (Command Prompt)
venv\Scripts\activate

# Windows (PowerShell)
venv\Scripts\Activate.ps1

# Linux va macOS
source venv/bin/activate

# Faollashgandan keyin terminal shunday ko'rinadi:
(venv) C:\mening_loyiham>

(venv) ko'rinsa — siz virtual muhitdasiz. Endi o'rnatgan paketlar faqat shu loyihaga tegishli.

Paket o'rnatish

# Bitta paket
pip install django

# Muayyan versiya
pip install django==4.2.7

# Bir nechta bir vaqtda
pip install django pillow requests

# Paketlar ro'yxatini ko'rish
pip list

requirements.txt — loyihani boshqaga uzatish

# Barcha o'rnatilgan paketlarni faylga saqlash
pip freeze > requirements.txt

# requirements.txt ichida:
# Django==4.2.7
# Pillow==10.1.0
# requests==2.31.0

Boshqa kishi loyihangizni olsa, shu fayldan o'rnatadi:

# Yangi muhit yaratib
python -m venv venv
source venv/bin/activate

# Barcha kerakli paketlarni o'rnatish
pip install -r requirements.txt

.gitignore — venv'ni GitHub'ga yuklamang

# .gitignore faylini yarating va shu qatorni yozing:
venv/
__pycache__/
*.pyc
.env

venv papkasi yuzlab megabayt bo'lishi mumkin. Uni GitHub'ga yuklash shart emas — requirements.txt yetarli.

Ko'p uchraydigan xatolar

Xato 1: Virtual environment'ni faollashtirmasdan paket o'rnatish — u global muhitga o'rnatiladi.

Xato 2: venv papkasini GitHub'ga yuklash — .gitignore'ga qo'shishni unutish.

Xato 3: pip freeze > requirements.txt ni loyiha tugagach emas, har yangi paket o'rnatgandan keyin bajarish kerak.

Maslahat: Har yangi loyiha boshlaganda birinchi ish — virtual environment yaratish. Bu oddiy ko'rinadi, lekin kelajakda ko'p muammolarni oldini oladi.

+3

👍

+0

❤

+0

😎

+0

💥

+0

👽

+0

😐

+0

👎

Maqola teglari

Python
Abdurahmon Rashidov Python 123
Facebook Telegram

Bu haftada ko'p o'qildi

Kompyuter tarmoqlarining asosiy turlari

Kompyuter tarmoqlarining asosiy turlari

54142 1323
Umumiy tezkor tugmalar : shortcuts

Umumiy tezkor tugmalar : shortcuts

7708 166
Kesh xotira nima va uning vazifalari

Kesh xotira nima va uning vazifalari

7311 525

Mavzuga oid

Python va Django: amaliy va o'quv materiallari to'plami (2026)

Python va Django: amaliy va o'quv materiallari to'plami (2026)

31 0
Python top 3 ta eng yaxshi kitoblar (2026)

Python top 3 ta eng yaxshi kitoblar (2026)

33 1
Har bir Python dasturchi bilishi kerak bo'lgan 50 ta kutubxona

Har bir Python dasturchi bilishi kerak bo'lgan 50 ta kutubxona

100 3