ציון יחסי תלות

יחסי התלות של אפליקציות Python מוצהרים בקובץ requirements.txt רגיל. לדוגמה:

Flask==MAJOR.MINOR.PATCH
google-cloud-storage

מחליפים את MAJOR, MINOR ו-PATCH במספרי הגרסאות הרצויים של Flask.

כשפורסים ל-App Engine, יחסי התלות שצוינו בקובץ requirements.txt מותקנים באופן אוטומטי עם האפליקציה שנפרסה. אפשר להשתמש בכל חבילת Python שתואמת ל-Linux, כולל חבילות שנדרשים להן תוספי C מקוריים.

כברירת מחדל, App Engine שומר במטמון תלויות שנשלפו כדי לקצר את זמני הבנייה. כדי להתקין גרסה לא שמורה במטמון של התלות, משתמשים בפקודה:

gcloud app deploy --no-cache

יחסי תלות פרטיים עם Artifact Registry

אם אתם צריכים לארח יחסי תלות פרטיים של אפליקציית Python, אתם יכולים להשתמש במאגר Python ב-Artifact Registry. כשפורסים את האפליקציה, תהליך ה-build יוצר באופן אוטומטי פרטי כניסה ל-Artifact Registry עבור חשבון השירות ב-Cloud Build, כך שלא תצטרכו ליצור פרטי כניסה נוספים. כדי לכלול יחסי תלות פרטיים, מוסיפים את כתובת ה-URL של Artifact Registry ואת החבילות הרלוונטיות לקובץ requirements.txt.

כדי לציין כמה מאגרים, צריך להשתמש במאגר וירטואלי של Artifact Registry כדי לשלוט בסדר שבו pip מחפש במאגרים. לדוגמה:

--index-url REPOSITORY_URL
sampleproject
Flask==MAJOR.MINOR.PATCH
google-cloud-storage

מחליפים את REPOSITORY_URL בכתובת של הרשם, למשל:

https://REGION_ID-python.pkg.dev/PROJECT_ID/REPOSITORY_NAME/simple

יחסי תלות פרטיים עם מאגרים אחרים

ההתקנה של יחסי התלות מתבצעת בסביבת Cloud Build שלא מספקת גישה למפתחות SSH. חבילות שמתארחות במאגרים שנדרשת בהם אימות מבוסס-SSH, צריך להעתיק לספריית הפרויקט ולהעלות אותן יחד עם הקוד של הפרויקט באמצעות מנהל החבילות pip.

כדי להשתמש ביחסי תלות פרטיים:

  1. מריצים את הפקודה pip install -t lib my_module כדי להעתיק את התלויות לתיקייה מקומית בשם lib.

  2. כדי להפוך את הספרייה lib למודול, מוסיפים לה קובץ __init__.py ריק.

  3. מייבאים את המודול לאפליקציה. לדוגמה:

    import lib.my_module
    

התקנת יחסי תלות באופן מקומי

כשמפתחים ובודקים את האפליקציה באופן מקומי, מומלץ להשתמש ב-venv כדי לבודד את התלות של האפליקציה מחבילות המערכת. כך גם תוכלו לוודא שגרסת התלות תהיה זהה במחשב המקומי ובאפליקציה שנפרסה.

כדי להשתמש ב-venv להתקנת יחסי תלות, מבצעים את השלבים הבאים:

Mac OS / Linux

  1. יוצרים סביבת Python מבודדת:
    python3 -m venv env
    source env/bin/activate
  2. אם אתם לא בספרייה שמכילה את הקוד לדוגמה, עוברים לספרייה שמכילה את הקוד לדוגמה hello_world. לאחר מכן מתקינים את יחסי התלות:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

Windows

משתמשים ב-PowerShell כדי להריץ את חבילות Python.

  1. מוצאים את ההתקנה של PowerShell.
  2. לוחצים לחיצה ימנית על קיצור הדרך ל-PowerShell ומפעילים אותו כאדמין.
  3. יוצרים סביבת Python מבודדת.
    python -m venv env
    .\env\Scripts\activate
  4. עוברים לספריית הפרויקט ומתקינים את יחסי התלות. אם אתם לא בספרייה שמכילה את הקוד לדוגמה, עוברים לספרייה שמכילה את הקוד לדוגמה hello_world. לאחר מכן, מתקינים יחסי תלות:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

כך מוודאים שכאשר מריצים את האפליקציה באופן מקומי, רק התלויות שמוצהרות בקובץ requirements.txt זמינות. התלות ש-App Engine מתקין במהלך הפריסה מבוססת על התוכן של הקובץ requirements.txt, ולא על התוכן של הספרייה env/.

התקנה של מסגרת אינטרנט

כדי שהאפליקציה תוכל לטפל בבקשות אינטרנט, צריך להשתמש במסגרת אינטרנט. אפשר להשתמש בכל מסגרת אינטרנט של Python, כולל:

כדי להשתמש במסגרת אינטרנט מסוימת, פשוט מוסיפים אותה ל-requirements.txt:

Flask==MAJOR.MINOR.PATCH

התקנה של שרת WSGI

חלק ממסגרות האינטרנט כוללות שרתי WSGI מובנים, אבל רק מעט מהן מתאימות להצגת תנועה בסביבת ייצור. רוב אפליקציות האינטרנט משתמשות בשרת WSGI עצמאי כמו Gunicorn,‏ uWSGI או Waitress. מידע נוסף על התקנה, הגדרה ושימוש בשרת WSGI זמין במאמר הפעלת האפליקציה.

התקנת ספריות לקוח של Cloud

ספריות הלקוח של Cloud לשימוש ב-Python היא ספריית לקוח לגישה לשירותי Google Cloud , שמפחיתה באופן משמעותי את כמות הקוד שצריך לכתוב. הספרייה מספקת הפשטות של API ברמה גבוהה, כדי שיהיה קל יותר להבין אותן. הוא כולל ניבים של Python, פועל היטב עם ספריית Python הרגילה ומשתלב טוב יותר עם בסיס הקוד שלכם.

לדוגמה, אפשר להתקין את ספריית הלקוח המתאימה של Python ל-Datastore או ל-Cloud Storage כדי לשלב את השירותים האלה באפליקציה.

כדי להתקין את ספריית הלקוח של Python ל-Cloud Datastore:

  1. מתקינים את ספריית הלקוח באופן מקומי באמצעות pip:

    pip install google-cloud-datastore

  2. מגדירים אימות. אפשר להגדיר את ספריות הלקוח ב-Cloud לשימוש ב-Python כך שהאימות יתבצע באופן אוטומטי. ספריית הלקוח יכולה לטפל באימות באופן אוטומטי גם באופן מקומי באמצעות Google Cloud CLI.

    gcloud auth login
    
  3. כדי להטמיע תמיכה בשירות Cloud Datastore באפליקציה, אפשר להשתמש בהפניה לספריות הלקוח של Datastore.

רשימה מלאה של כל ספריות הלקוח של Python ל-Cloud עבור השירותים הנתמכים שלGoogle Cloud זמינה במאמר ממשקי API וספריות Python.