0Pricing
Python Academy · درس

أهمية البيئات الافتراضية

افهم تعارضات الاعتماديات وسبب أهمية العزل

أهمية البيئات الافتراضية درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

مقدمة

من دون البيئات الافتراضية، تُثبّت جميع حزم Python على مستوى النظام، مما يسبب تعارضات في الإصدارات بين المشاريع.

مشكلة التثبيت العام

يثبّت pip الحزم افتراضيًا في Python الخاص بالنظام. يحتاج المشروع A إلى requests 2.25، بينما يحتاج المشروع B إلى 2.28 — تعارض!
# Without venv:
# pip install requests==2.25  -> global
# pip install requests==2.28  -> overwrites 2.25!
print('global conflict demo')

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

إن venv تثبيت معزول لـ Python داخل دليل. ويحصل كل مشروع على حزمه الخاصة المستقلة عن المشاريع الأخرى.
# venv creates:
# project/
#   .venv/
#     bin/python     (isolated Python)
#     lib/site-packages/  (project packages)
print('venv structure')

قابلية إعادة الإنتاج

باستخدام venv وrequirements.txt، يمكن لأي شخص إعادة إنشاء البيئة نفسها تمامًا: pip install -r requirements.txt
# pip freeze > requirements.txt
# # Later, on another machine:
# python -m venv .venv
# pip install -r requirements.txt
print('reproducible env')

العزل الأمني

لا يؤثر تثبيت الحزم في venv على Python الخاص بالنظام. ولا حاجة إلى sudo أو صلاحيات المسؤول، كما لا يوجد خطر من تعطيل أدوات النظام.
# System Python is untouched:
# /usr/bin/python -> system packages
# .venv/bin/python -> project packages only
print('security isolation')

CI/CD وDocker

في CI/CD والحاويات، أنشئ venv جديدًا لكل عملية بناء لضمان بيئة نظيفة قابلة لإعادة الإنتاج.
# Dockerfile pattern:
# RUN python -m venv /opt/venv
# RUN /opt/venv/bin/pip install -r requirements.txt
print('ci/cd demo')

بيئة venv واحدة لكل مشروع

احتفظ ببيئة venv واحدة لكل مشروع، وخزّنها في .venv/ داخل جذر المشروع. لا تودعها أبدًا في نظام التحكم بالإصدارات.
# Add to .gitignore:
# .venv/
# __pycache__/
print('gitignore tip')

حزم النظام والمستخدم وvenv

يبحث Python عن الحزم في: venv site-packages ← user site ← global site. وتكون أولوية venv أعلى عند تفعيلها.
import sys
print('\n'.join(p for p in sys.path if 'site' in p))

pyenv لإدارة إصدارات Python

يدير pyenv إصدارات متعددة من Python (3.10 و3.11 و3.12). ادمجه مع venv لتحقيق العزل الكامل.
# pyenv install 3.12.0
# pyenv local 3.12.0
# python -m venv .venv
print('pyenv demo')

conda بوصفه بديلًا

يدير conda (Anaconda/Miniconda) الحزم وإصدارات Python معًا. وهو شائع في علم البيانات.
# conda create -n myenv python=3.11
# conda activate myenv
# conda install numpy pandas
print('conda demo')

ملخص أفضل الممارسات

اعمل دائمًا داخل venv. استخدم requirements.txt أو pyproject.toml. أضف .venv/ إلى .gitignore. واستخدم إصدارات متسقة من Python.
import sys
print('Python:', sys.version)
print('venv:', sys.prefix != sys.base_prefix)

تحقق سريع

ما المشكلة الأساسية التي تحلها البيئات الافتراضية؟

مراجعة

البيئات الافتراضية: عزل لكل مشروع. لكل venv حزمه الخاصة. استخدم requirements.txt لقابلية إعادة الإنتاج. أضف .venv/ إلى .gitignore.

تابع التقدّم

أحسنتم! انتقلوا إلى الدرس التالي.

الأسئلة الشائعة

هل درس «أهمية البيئات الافتراضية» مجاني؟

نعم — نص درس «أهمية البيئات الافتراضية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «أهمية البيئات الافتراضية»؟

افهم تعارضات الاعتماديات وسبب أهمية العزل تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «أهمية البيئات الافتراضية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أهمية البيئات الافتراضية
  2. إنشاء venv وتفعيله
  3. إدارة الاعتماديات باستخدام pip
  4. الأدوات الحديثة: pipenv وuv
← العودة إلى Python Academy