יש שתי דרכים לציין יחסי תלות של Cloud Functions שכתובים ב-
Python: באמצעות מנהל החבילות pip
יחסי תלות מקומיים של קובץ או אריזת requirements.txt
לצד הפונקציה.
מפרט התלות באמצעות תקן Pipfile/Pipfile.lock הוא אין תמיכה. אין לכלול את הקבצים האלה בפרויקט.
ציון יחסי תלות באמצעות PIP
יחסי תלות ב-Python מנוהלים באמצעות PIP ומבוטאים בקובץ מטא-נתונים
קראו
requirements.txt
הקובץ חייב להיות באותה ספרייה כמו הקובץ main.py
שמכיל את
קוד פונקציה.
כשפורסים או פורסים מחדש את הפונקציה, Cloud Functions
משתמשת ב-pip כדי להוריד ולהתקין את הגרסה האחרונה של
של יחסי התלות כפי שהוצהר בקובץ requirements.txt
.
הקובץ requirements.txt
מכיל שורה אחת לכל חבילה. כל שורה מכילה את שם החבילה, ואת הגרסה המבוקשת (אופציונלי). פרטים נוספים זמינים במאמר
requirements.txt
הפניה.
כדי למנוע השפעה של ה-build שלך משינויים בגרסת התלות, מומלץ להצמיד את חבילות התלות לגרסה ספציפית.
קובץ requirements.txt
לדוגמה:
functions-framework requests==2.20.0 numpy
Functions Framework הוא ותלויה שנדרשת לכל הפונקציות. למרות שCloud Functions יתקין אותו בשמך בזמן יצירת הפונקציה, מומלץ לכלול אותה בתור תלות מפורשת בבהירות.
אם
מסתמכת על יחסי תלות פרטיים,
שיקוף של functions-framework
למרשם הפרטי שלך. כולל שיקוף
functions-framework
כתלות בפונקציה שלכם כדי להימנע מהתקנת
מהאינטרנט הציבורי.
אריזת יחסי תלות מקומיים
תוכלו גם לארוז ולפרוס יחסי תלות לצד הפונקציה. הזה שימושי אם התלות שלך אינה זמינה דרך PIP מנהל החבילות, או אם האינטרנט של סביבת Cloud Functions הגישה מוגבלת.
לדוגמה, אפשר להשתמש במבנה של ספרייה כמו:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
לאחר מכן אפשר לייבא את הקוד כרגיל מ-localpackage
באמצעות
דף חשבון import
.
# Code in main.py from localpackage import script
לתשומת ליבכם: הגישה הזו לא תפעיל קובצי setup.py
. חבילות עם האלה
עדיין ניתן לקבץ את הקבצים, אבל ייתכן שלא יפעלו כראוי ב-Cloud Functions.