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.