الدرس 4 من 8
pip والبيئات الافتراضية
الأداة اللي هتفتحلك باب آلاف المكتبات.
متجر مكتبات بايثون (pip)
فيه موقع اسمه PyPI عليه مئات الآلاف من المكتبات اللي ناس عملتها وشاركتها. pip هو الأداة اللي بتنزّل منه. كل مكتبات الـ AI اللي هتستخدمها (numpy و pandas و torch) هتتسطب بيه.
pip install requests # install a library pip install pandas==2.2.3 # install a specific version pip list # show installed libraries pip uninstall requests # remove a library
المشكلة: مشروعين محتاجين نسخ مختلفة
تخيل مشروع قديم شغال على نسخة قديمة من مكتبة، ومشروع جديد محتاج أحدث نسخة. لو سطبت كله على الجهاز مباشرة، واحد منهم هيبوظ. الحل هو Virtual Environment (بيئة افتراضية): كل مشروع ليه أوضة لوحده بمكتباته ونسخها، ومحدش بيأثر على التاني.
# 1. Create the environment (once per project) python -m venv venv # 2. Activate it (every time you open a new terminal) venv\Scripts\activate # 3. Now pip installs only inside this project pip install requests # 4. Leave the environment deactivate
لو PowerShell رفض يشغل الأمر، جرّب تفتح Command Prompt بدل منه.
قائمة مكونات المشروع (requirements.txt)
زي ورقة المكونات في وصفة أكل. بتكتب فيها كل المكتبات ونسخها، فأي حد ياخد مشروعك يسطب نفس الحاجات بأمر واحد.
# Save your project's libraries to a file pip freeze > requirements.txt # On another machine: install everything at once pip install -r requirements.txt
جرب مكتبة حقيقية: requests
requests بتخليك تكلم أي API على النت. هنا بنجيب بيانات حساب على GitHub. ده نفس اللي هتعمله بعدين لما تكلم APIs الموديلات زي Claude.
import requests response = requests.get("https://api.github.com/users/octocat") if response.status_code == 200: # 200 means success data = response.json() # JSON -> Python dict print("Name:", data["name"]) print("Public repos:", data["public_repos"]) else: print("Request failed:", response.status_code)
⚠ متنساش تفعّل الـ venvأشهر مشكلة: تسطب مكتبة وتلاقي
ModuleNotFoundError. غالباً سطبتها وانت برا الـ venv، أو بتشغل الكود وانت برا. اتأكد إن (venv) ظاهرة في الـ Terminal. وفي VS Code اختار الـ interpreter بتاع الـ venv من تحت على اليمين.