Python / Virtual Environment

Virtual Environment

Python-д пакеж суулгахад pip install ашиглана. Гэвч бүх төслийн пакежийг нэг газар суулгавал асуудал гардаг — нэг төсөл requests==2.28 хэрэглэх, нөгөө нь requests==2.31 хэрэглэх бол мөргөлдөнө. Virtual environment нь тус бүр тусдаа орчин үүсгэж энэ асуудлыг шийддэг.

Яагаад virtual environment хэрэгтэй вэ?

Дараах хоёр нөхцлийг төсөөлөөрэй:

код
Төсөл А: Django==3.2 (хуучин серверийн код)
Төсөл Б: Django==5.0 (шинэ хөгжүүлэлт)

Хоёрыг нэг газар суулгах боломжгүй. Virtual environment нь тус бүрд тусдаа site-packages хавтас үүсгэж, хувилбарыг тусгаарладаг.

venv үүсгэх ба идэвхжүүлэх

Python 3.3-аас стандарт venv модуль орсон — нэмэлт пакеж суулгах шаардлагагүй:

bash
# Шинэ virtual environment үүсгэх
python -m venv .venv

# Идэвхжүүлэх — Mac/Linux
source .venv/bin/activate

# Идэвхжүүлэх — Windows
.venv\Scripts\activate

# Идэвхжүүлсэн эсэхийг шалгах — (.venv) харагдана
(.venv) $ python --version

Идэвхжүүлсний дараа terminal-д (.venv) угтвар гарч ирнэ — та одоо тусгаарлагдсан орчинд байна. Суулгах пакеж бүр энэ орчинд л хадгалагдана.

pip ашиглах

bash
# Пакеж суулгах
(.venv) $ pip install requests beautifulsoup4 fastapi

# Суусан пакежуудыг жагсаах
(.venv) $ pip list

# Хувилбар зааж суулгах
(.venv) $ pip install django==4.2

# Пакеж устгах
(.venv) $ pip uninstall requests

requirements.txt — пакежийн жагсаалт

Бусадтай хуваалцах, сервер дээр байрлуулахад бүх пакежийн жагсаалтыг файлд хадгална:

bash
# Одоогийн пакежийг requirements.txt-д бичих
(.venv) $ pip freeze > requirements.txt

Үүссэн requirements.txt файл иймэрхүү харагдана:

text
annotated-types==0.7.0
anyio==4.7.0
beautifulsoup4==4.12.3
fastapi==0.115.0
requests==2.32.3

Шинэ компьютер эсвэл серверт нэг командаар бүгдийг суулгана:

bash
# Шинэ орчинд бүх пакеж суулгах
(.venv) $ pip install -r requirements.txt

.gitignore — орчиноо git-д оруулахгүй байх

.venv хавтасыг git-д оруулах шаардлагагүй — requirements.txt байвал хэн ч өөрийн орчинд суулгаж болно:

text
# .gitignore файл дотор
.venv/
__pycache__/
*.pyc
.env

Ердийн ажлын урсгал

Шинэ Python төсөл эхлүүлэхдээ дараах дарааллыг дагана:

bash
# 1. Хавтас үүсгэх
mkdir миний-төсөл && cd миний-төсөл

# 2. Virtual environment үүсгэх
python -m venv .venv

# 3. Идэвхжүүлэх
source .venv/bin/activate   # Mac/Linux

# 4. Хэрэгтэй пакежүүдийг суулгах
pip install fastapi uvicorn

# 5. requirements.txt үүсгэх
pip freeze > requirements.txt

# 6. Кодоо бичиж эхлэх

Энэ дарааллыг нэг удаа дадвал дараа нь автоматаар хийж болно — мэргэжлийн хөгжүүлэгч бүр ийм ажлын урсгалтай байдаг.

Дараагийн хичээлд:

FastAPI үндэс — орчин үеийн хурдан Python web framework ашиглан анхны API-аа хэрхэн бүтээх, uvicorn дээр ажиллуулах талаар сурна.