Bağımlılıkları işleme


Python'da yazılmış Bulut İşlevleri için bağımlılıkları belirlemenin iki yolu vardır: pip paket yöneticisinin requirements.txt dosyasını kullanmak veya yerel bağımlılıkları işlevinizin yanında paketlemek.

Pipfile/Pipfile.lock standardını kullanan bağımlılık belirtimi desteklenmez. Projeniz bu dosyaları içermemelidir.

Pip ile bağımlılıkları belirtme

Python'daki bağımlılıklar pip ile yönetilir ve requirements.txt adı verilen bir meta veri dosyasında ifade edilir. Bu dosyanın, işlev kodunuzu içeren main.py dosyasıyla aynı dizinde olması gerekir.

İşlevinizi dağıttığınızda Cloud Functions, pip kullanarak requirements.txt dosyasında belirtilen bağımlılıkları indirir ve yükler.

requirements.txt dosyası paket başına bir satır içerir. Her satır paket adını ve isteğe bağlı olarak istenen sürümü içerir. Daha fazla ayrıntı için requirements.txt referansına bakın.

Aşağıda örnek bir requirements.txt dosyası verilmiştir:

requests==2.20.0
numpy

Yerel bağımlılıkları paketleme

Ayrıca işlevinizin yanı sıra bağımlılıkları da paketleyebilir ve dağıtabilirsiniz. Bu yaklaşım, bağımlılığınız pip paket yöneticisi aracılığıyla kullanılamıyorsa veya Cloud Functions ortamınızın internet erişimi kısıtlıysa kullanışlıdır.

Örneğin aşağıdakine benzer bir dizin yapısı kullanabilirsiniz:

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

Daha sonra aşağıdaki import ifadesini kullanarak kodu her zamanki gibi localpackage içe aktarabilirsiniz.

# Code in main.py
from localpackage import script

Bu yaklaşımın herhangi bir setup.py dosyasını çalıştırmayacağını unutmayın. Bu dosyalara sahip paketler yine de paketlenebilir ancak Cloud Functions'ta düzgün çalışmayabilir.