Lesson 26 � Intermediate

VIRTUAL ENVIRONMENT:
ISOLATED PYTHON ENVIRONMENT.

Jab aap multiple projects pe kaam karte ho toh har project ke apne packages hote hain. Virtual environment ek isolated environment hai jisme sirf us project ke packages hote hain � doosre project pe koi asar nahi padta. Production mein ye zaroori hai taaki dependency conflicts na hon.

? 14 min✓ IntermediatePrerequisite: File Handling

WHY: Virtual environment kyun zaroori hai?

Socho aapke do projects hain � ek Flask app aur ek Django app. Flask ko Flask 2.0 chahiye aur Django ko Django 4.0. Agar dono same environment mein ho toh ek doosre ko tod dega. Virtual environment har project ke liye alag Python install karta hai jisme sirf us project ke packages hain. Isse dependency conflicts hota nahi aur clean development hoti hai.

VENV

python -m venv env se environment banta hai � har project ke liye alag.

ACTIVATE

env\Scripts\activate se activate hota hai � terminal mein (env) dikhta hai.

REQUIREMENTS

pip freeze > requirements.txt se packages save hote hain � doosre dev same setup kar sake.

ISOLATION

Har project ka apna environment � system Python clean rehta hai.

WHEN: kab virtual environment use hota hai

Virtual environment tab use hota hai jab aap koi naya project shuru karte ho, jab multiple projects ek machine pe chalte ho, jab production ke liye dependencies lock karni ho, ya jab team ke saath code share karna ho. Har professional Python project mein virtual environment use hota hai.

HOW: virtual environment create aur manage karo

Virtual environment banana

bash
# Create virtual environment
python -m venv myenv

# Activate (Windows)
myenv\Scripts\activate

# Activate (Mac/Linux)
source myenv/bin/activate

python -m venv myenv se ek naya folder myenv banta hai jisme Python ka copy hota hai. activate command se wo environment active ho jaata hai � terminal mein (myenv) dikhta hai.

Packages install karna

bash
# Install packages in virtual env
pip install flask pandas

# Check installed packages
pip list

# Save dependencies to file
pip freeze > requirements.txt

# Install from requirements (dusre dev ke liye)
pip install -r requirements.txt

Virtual environment activate hone ke baad pip install se sirf us environment mein packages install hote hain. pip freeze se saari installed packages ka list milta hai jo requirements.txt mein save hota hai. Doosra dev us file se same packages install kar sakta hai.

Virtual environment deactivate karna

bash
# Deactivate current virtual environment
deactivate

deactivate command se virtual environment band hota hai aur terminal wapas normal Python pe aa jaata hai. (env) prefix gayab ho jaata hai.

Try it: Virtual environment detect karoCheck karo ki aap virtual environment mein ho ya system Python pe
Code ko apni values se update karke run karein

Complete virtual environment workflow

bash
# Step 1: Project folder banao
mkdir my-project
cd my-project

# Step 2: Virtual environment create karo
python -m venv venv

# Step 3: Activate karo
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

# Step 4: Packages install karo
pip install flask pandas requests

# Step 5: Requirements save karo
pip freeze > requirements.txt

# Step 6: Kaam karo...
python app.py

# Step 7: Kaam khatam toh deactivate
deactivate

Ye complete workflow hai � project start se finish tak. Virtual environment banana, activate karna, packages install karna, requirements save karna, aur deactivate karna.

Project structure

text
my-project/
+-- venv/ # Virtual environment folder (git mein mat daalo!)
+-- app.py # Aapka Python code
+-- requirements.txt # Package list
+-- .gitignore # venv/ ko ignore karo

venv/ folder ko .gitignore mein daalo � ye Git mein commit mat karo. Sirf requirements.txt share karo. Doosra dev pip install -r requirements.txt se apna environment bana lega.

Pro tips

Quick check

Command likho jo virtual environment banaye aur activate kare.

Pehle python -m venv env se environment banao, phir env\Scripts\activate se activate karo.

Common mistakes

Pro tip: Production mein pip install -r requirements.txt se packages install karte hain. pip freeze se exact versions lock ho jaate hain � koi version conflict nahi hota.
Virtual environments clear?

Ab aap har project ke liye alag environment bana sakte ho � dependencies clean aur organized rahengi.