🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

دليل البيئات الافتراضية لبايثون 2026: venv، والأشعة فوق البنفسجية، وأفضل الممارسات

⏱️1 min read  ·  180 words
Python Virtual Environments Guide 2026: venv, uv and Best Practices

تعمل بيئات Python الافتراضية على عزل تبعيات المشروع بحيث يمكن للمشاريع المختلفة استخدام إصدارات حزم مختلفة دون تعارض. في عام 2026، يجب أن يستخدم كل مشروع بايثون إماvenv,virtualenvأو الحديثuvأداة. يغطي هذا الدليل أفضل الممارسات الثلاثة بالإضافة إلى ذلك.

لماذا البيئات الافتراضية؟

بدون البيئات الافتراضية، يتم تثبيت كافة الحزم على مستوى العالم. يحتاج المشروع 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للسرعة وإدارة التبعية الحديثة. سوف تشكرك نفسك في المستقبل (وزملائك في الفريق).

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা