
تعمل بيئات Python الافتراضية على عزل تبعيات المشروع بحيث يمكن للمشاريع المختلفة استخدام إصدارات حزم مختلفة دون تعارض. في عام 2026، يجب أن يستخدم كل مشروع بايثون إماvenv,virtualenvأو الحديثuvأداة. يغطي هذا الدليل أفضل الممارسات الثلاثة بالإضافة إلى ذلك.
📋 Table of Contents
لماذا البيئات الافتراضية؟
بدون البيئات الافتراضية، يتم تثبيت كافة الحزم على مستوى العالم. يحتاج المشروع A إلى Django 4.2، ويحتاج المشروع B إلى Django 5.0 – ولا يمكنهما التعايش عالميًا. تحل البيئات الافتراضية هذه المشكلة من خلال منح كل مشروع حزم Python + الخاصة به.
venv (مدمج)
# Create virtual environment
python3 -m venv .venv
# Activate
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows PowerShell
# Install packages
pip install fastapi uvicorn sqlalchemy
# Save dependencies
pip freeze > requirements.txt
# Deactivate
deactivate
الأشعة فوق البنفسجية – الأداة الحديثة السريعة (معيار 2026)
الأشعة فوق البنفسجيةبواسطة Astral يستبدل pip وvenv وpyenv. إنها أسرع بـ 10-100 مرة من النقطة لأنها مكتوبة بلغة Rust. في عام 2026، ستكون الأشعة فوق البنفسجية هي الأداة الموصى بها للمشاريع الجديدة.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create project with virtual env
uv init myproject
cd myproject
# Add dependencies (auto-creates .venv)
uv add fastapi uvicorn sqlalchemy
# Run script in venv
uv run python main.py
# Sync dependencies from pyproject.toml
uv sync
pyproject.toml مقابل المتطلبات.txt
تستخدم مشاريع بايثون الحديثةpyproject.tomlبدلا منrequirements.txt. ويتضمن بيانات التعريف والتبعيات مع قيود الإصدار وتكوينات الأداة.
[project]
name = "myapp"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"fastapi>=0.115",
"uvicorn>=0.30",
"sqlalchemy>=2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"ruff>=0.4",
"mypy>=1.10",
]
إدارة إصدارات بايثون المتعددة
# uv can install Python versions too
uv python install 3.12 3.13
uv python list
# Pin Python version for project
uv python pin 3.12
# Or use pyenv for Python version management
pyenv install 3.12.3
pyenv local 3.12.3 # sets .python-version file
أفضل الممارسات
- قم دائمًا بتسمية venv الخاص بك
.venv– يكتشفه معظم المحررين تلقائيًا - أضف
.venv/إلى.gitignore - الالتزام
pyproject.tomlوuv.lockللتحكم في الإصدار - استخدم
uv syncعلى نسخة جديدة لإعادة إنتاج التبعيات الدقيقة - فصل تبعيات التطوير عن تبعيات الإنتاج
# .gitignore
.venv/
__pycache__/
*.pyc
.env
dist/
*.egg-info/
الخلاصة
البيئات الافتراضية غير قابلة للتفاوض لتطوير بايثون. استخدمvenvللمشاريع البسيطة، قم بالتبديل إلىuvللسرعة وإدارة التبعية الحديثة. سوف تشكرك نفسك في المستقبل (وزملائك في الفريق).
🔗 Share this article
✍️ Leave a Comment