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.

+2

👍

+0

❤

+0

😎

+0

💥

+0

👽

+0

😐

+0

👎

Maqola teglari

Python
Abdurahmon Rashidov Python 30
Facebook Telegram

Bu haftada ko'p o'qildi

Kompyuter tarmoqlarining asosiy turlari

Kompyuter tarmoqlarining asosiy turlari

53781 1321
Kesh xotira nima va uning vazifalari

Kesh xotira nima va uning vazifalari

7154 525
Umumiy tezkor tugmalar : shortcuts

Umumiy tezkor tugmalar : shortcuts

6866 165

Mavzuga oid

Python'da dictionary (lug'at) bilan ishlash

Python'da dictionary (lug'at) bilan ishlash

62 4
Python Backend dasturlash uchun yo'l xaritasi - 2024

Python Backend dasturlash uchun yo'l xaritasi - 2024

157 6
Pythonni o'rganish uchun 2024-yilda nima qilishim kerak ?

Pythonni o'rganish uchun 2024-yilda nima qilishim kerak ?

275 28