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.
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.
python -m venv env se environment banta hai � har project ke liye alag.
env\Scripts\activate se activate hota hai � terminal mein (env) dikhta hai.
pip freeze > requirements.txt se packages save hote hain � doosre dev same setup kar sake.
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
# Create virtual environment
python -m venv myenv
# Activate (Windows)
myenv\Scripts\activate
# Activate (Mac/Linux)
source myenv/bin/activatepython -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
# 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.txtVirtual 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
# Deactivate current virtual environment
deactivatedeactivate command se virtual environment band hota hai aur terminal wapas normal Python pe aa jaata hai. (env) prefix gayab ho jaata hai.
Complete virtual environment workflow
# 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
deactivateYe complete workflow hai � project start se finish tak. Virtual environment banana, activate karna, packages install karna, requirements save karna, aur deactivate karna.
Project structure
my-project/
+-- venv/ # Virtual environment folder (git mein mat daalo!)
+-- app.py # Aapka Python code
+-- requirements.txt # Package list
+-- .gitignore # venv/ ko ignore karovenv/ 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
- Hamesha
requirements.txtmeinflask==2.3.0jaise exact versions daalo �pip freezeye automatically karta hai. - Virtual environment ka naam short rakho �
venvyaenvbest hai. - Python version
py -3.11 -m venv venvse specify kar sakte ho. .envfile mein secrets mat daalo �.gitignoremein add karo.- Virtual environment bin folder mein hota hai � system Python clean rehta hai.
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
- Virtual environment folder Git mein commit karna �
.gitignoremeinvenv/daalo. requirements.txtna banana � team ke liye zaroori hai.- Global Python mein packages install karna � hamesha virtual environment use karo.
- Activate command galat type karna � Windows
Scripts\activate, Mac/Linuxbin/activate. - Virtual environment delete karke wapas banana �
pip install -r requirements.txtse quick setup hota hai.
pip install -r requirements.txt se packages install karte hain. pip freeze se exact versions lock ho jaate hain � koi version conflict nahi hota.Ab aap har project ke liye alag environment bana sakte ho � dependencies clean aur organized rahengi.