
في الدروس السابقة، كنا نستخدم مكتبات بايثون المدمجة فقط. لكن في المشاريع الحقيقية، ستحتاج إلى استخدام مكتبات خارجية مثل FastAPI أو Flask أو Pandas. هنا يأتي دور إدارة الحزم والبيئات الافتراضية. في هذا الدرس، سنتعلم كيف نثبت الحزم، وكيف ننشئ بيئة افتراضية لعزل مشروعنا عن بقية المشاريع.
الحزمة هي مجموعة من الملفات والوحدات (modules) التي تقدم وظائف جاهزة. بدلاً من كتابة كل شيء من الصفر، يمكنك تثبيت حزمة واستخدام دوالها مباشرة. مثال: حزمة requests تسمح لك بإرسال طلبات HTTP بسهولة.
البيئة الافتراضية هي مساحة معزولة داخل نظامك، تحتوي على نسخة خاصة من بايثون ومكتباتها. لماذا نحتاجها؟ تخيل أنك تعمل على مشروعين: الأول يحتاج إصدار 1.0 من مكتبة requests، والثاني يحتاج إصدار 2.0. بدون بيئة افتراضية، ستتعارض الإصدارات. البيئة الافتراضية تحل هذه المشكلة.
pip هي الأداة الرسمية لتثبيت وإدارة الحزم في بايثون. تأتي مثبتة تلقائياً مع بايثون 3.4 فما فوق. يمكنك التحقق من وجودها بكتابة الأمر التالي في الطرفية (Terminal):
pip --version
إذا ظهر رقم الإصدار، فأنت جاهز. وإلا، يمكنك تثبيتها من الموقع الرسمي.
لنبدأ عملياً. سننشئ مجلداً للمشروع، ثم ننشئ بيئة افتراضية داخله.
mkdir my_project
cd my_project
python -m venv venv
الأمر الأول python -m venv يستخدم وحدة venv المدمجة. الأمر الثاني venv هو اسم المجلد الذي سيحتوي على البيئة. يمكنك تسميته .venv أو env حسب تفضيلك.
venv\Scripts\activate
source venv/bin/activate
بعد التفعيل، ستلاحظ ظهور اسم البيئة بين قوسين في بداية سطر الأوامر، هكذا: (venv). هذا يعني أنك الآن داخل البيئة الافتراضية.
الآن وقد فعلنا البيئة، لنثبت حزمة requests كمثال:
pip install requests
سيقوم pip بتحميل الحزمة وتثبيتها داخل البيئة الافتراضية فقط. يمكنك تثبيت عدة حزم في نفس الأمر:
pip install requests numpy pandas
لنكتب ملف بايثون بسيطاً يستخدم الحزمة التي ثبتناها. أنشئ ملفاً باسم test_request.py داخل مجلد المشروع:
import requests
response = requests.get('https://api.github.com')
print(f"Status Code: {response.status_code}")
print(f"Response JSON: {response.json()}")
شغل الملف باستخدام الأمر:
python test_request.py
سترى رسالة نجاح تعرض حالة الاتصال. إذا لم تثبت الحزمة، سيظهر خطأ ModuleNotFoundError.
عند مشاركة مشروعك مع الآخرين، تحتاج إلى إخبارهم بالحزم المطلوبة. الحل هو إنشاء ملف requirements.txt يحتوي على أسماء الحزم وإصداراتها. لإنشائه تلقائياً:
pip freeze > requirements.txt
سيكون محتوى الملف مشابهاً لهذا:
certifi==2024.2.2
charset-normalizer==3.3.2
idna==3.6
requests==2.31.0
urllib3==2.2.1
لتثبيت الحزم من هذا الملف في بيئة جديدة:
pip install -r requirements.txt
إذا أردت إزالة حزمة:
pip uninstall requests
عند الانتهاء من العمل، اكتب الأمر التالي للخروج:
deactivate
ستلاحظ اختفاء اسم البيئة من سطر الأوامر.
(venv) في الطرفية.pip مرتبطاً بإصدار بايثون 2. استخدم pip3 إذا كنت تعمل مع بايثون 3.venv يدوياً أثناء العمل. إذا أردت إعادة تعيين البيئة، احذف المجلد وأنشئه من جديد.احرص على إضافة مجلد venv إلى ملف .gitignore إذا كنت تستخدم Git. هذا يمنع رفع ملفات البيئة إلى المستودع، لأنها خاصة بكل نظام.
الآن حان دورك للتطبيق. اتبع الخطوات التالية:
practice_venv.env.colorama (تستخدم لتلوين النصوص في الطرفية).hello_color.py واكتب فيه الكود التالي:
from colorama import Fore, Style, init
init(autoreset=True)
print(Fore.GREEN + "Hello, World!")
print(Fore.BLUE + "This is a colored message.")
requirements.txt باستخدام pip freeze.deactivate.إذا نجحت في تنفيذ جميع الخطوات، فأنت الآن تفهم أساسيات إدارة الحزم والبيئات الافتراضية. هذا المهارة أساسية لأي مشروع بايثون حقيقي، وستستخدمها في الدروس القادمة عند تثبيت FastAPI.
جاري تحميل التقييمات...