التعامل مع التبعيات


هناك طريقتان لتحديد التبعيات للوظائف السحابية المكتوبة بلغة Python: استخدام ملف robots.txt الخاص بمدير حزمة requirements.txt أو تعبئة التبعيات المحلية إلى جانب وظيفتك.

مواصفات التبعية التي تستخدم معيار Pipfile/Pipfile.lock غير مدعومة. يجب ألا يتضمن مشروعك هذه الملفات.

تحديد التبعيات مع النقطة

تتم إدارة التبعيات في لغة Python باستخدام النقطة (pip) ويتم التعبير عنها في ملف بيانات تعريف يسمى requirements.txt . يجب أن يكون هذا الملف في نفس الدليل مثل الملف main.py الذي يحتوي على رمز وظيفتك.

عندما تقوم بنشر وظيفتك، تقوم Cloud Functions بتنزيل التبعيات الموضحة في ملف requirements.txt وتثبيتها باستخدام النقطة.

يحتوي ملف requirements.txt على سطر واحد لكل حزمة. يحتوي كل سطر على اسم الحزمة، واختياريًا، الإصدار المطلوب. لمزيد من التفاصيل، راجع مرجع requirements.txt .

فيما يلي مثال لملف requirements.txt :

requests==2.20.0
numpy

تعبئة التبعيات المحلية

يمكنك أيضًا حزم التبعيات ونشرها إلى جانب وظيفتك. يعد هذا الأسلوب مفيدًا إذا لم تكن تبعيتك متاحة عبر مدير حزمة النقطة أو إذا كان الوصول إلى الإنترنت في بيئة Cloud Functions الخاصة بك مقيدًا.

على سبيل المثال، يمكنك استخدام بنية دليل مثل ما يلي:

myfunction/
├── main.py
└── localpackage/
    ├── __init__.py
    └── script.py

يمكنك بعد ذلك استيراد الكود كالمعتاد من localpackage باستخدام عبارة import التالية.

# Code in main.py
from localpackage import script

لاحظ أن هذا الأسلوب لن يقوم بتشغيل أي ملفات setup.py . لا يزال من الممكن تجميع الحزم التي تحتوي على هذه الملفات، ولكن قد لا تعمل بشكل صحيح على Cloud Functions.