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

יחסי תלות באפליקציות 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.