هناك طريقتان لتحديد التبعيات في 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.
لمنع تأثّر عملية الإنشاء بالتغييرات في إصدار الاعتمادية، ننصحك بتثبيت حِزم الاعتمادية على إصدار معيّن.
في ما يلي مثال على ملف requirements.txt:
functions-framework requests==2.20.0 numpy
تجميع التبعيات المحلية
يمكنك أيضًا تجميع التبعيات ونشرها جنبًا إلى جنب مع دالتك. تكون هذه الطريقة مفيدة إذا لم تكن الاعتمادية متاحة من خلال أداة إدارة حِزم 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.