Python Virtual Environments
In this page:
python -m venv env_name
source env_name/bin/activate # Windows: env_name\Scripts\activate
deactivate
Virtual Environment क्या है?
Virtual environment Python interpreter और उसकी अपनी package directory की एक self-contained copy होती है, जिससे एक project उसी machine पर Django 3 पर depend कर सकता है जबकि दूसरा Django 5 पर, और दोनों installations एक-दूसरे में हस्तक्षेप नहीं करतीं। sys.prefix वर्तमान में active environment की root directory की ओर point करता है।
उदाहरण: What is a Virtual Environment?
import sys
print(sys.prefix)
Active Environment का पता लगाना
जब कोई virtual environment active होता है, तो आपके shell का PATH अस्थायी रूप से बदल दिया जाता है ताकि python और pip system-wide install की बजाय environment की अपनी copies को resolve करें -- आप sys.executable का file path जाँचकर पुष्टि कर सकते हैं कि कौन-सा active है।
उदाहरण: Detecting Active Environment
import sys
print(sys.executable)
Package Isolation Simulate करना
हर virtual environment अपनी independent package list रखता है, जो system Python और हर दूसरे environment से isolated होती है -- किसी active environment के अंदर से sys.path जाँचने पर पता चलता है कि वह पहले उसी environment की अपनी site-packages directory खोजता है।
उदाहरण: Simulating Package Isolation
import sys
print(sys.path[0])
Site-Packages Path Inspection
किसी environment के अंदर install हर package physically site-packages नाम के folder में रहता है, और built-in site module बता सकता है कि वह folder disk पर ठीक कहाँ है -- यह तब उपयोगी है जब आपको installed files को manually inspect या clean up करना हो।
उदाहरण: Site-Packages Path Inspection
import site
print(site.getsitepackages())
Environment Configuration Check
हर virtual environment में एक छोटी pyvenv.cfg file होती है जो record करती है कि इसे किस Python version ने और कहाँ बनाया -- इस file के होने की जाँच करना यह programmatically पता लगाने का एक भरोसेमंद तरीका है कि दी गई directory वाकई एक valid virtual environment है या नहीं।
उदाहरण: Environment Configuration Check
import os
print(os.path.exists("pyvenv.cfg"))
Chapter Quiz — Complete all 6 topics to unlock
0/6 topics done
Complete these topics first: