Firebase Cloud Functions Python -无法添加依赖项

hivapdat  于 2023-06-30  发布在  Python
关注(0)|答案(1)|浏览(168)

我在firebase项目中使用python云函数。初始化云函数后,将firebase-admin添加到requirements.txt文件中就可以了,我可以使用firebase emulators:start进行测试,也可以成功地使用firebase deploy --only functions进行部署。
问题是当我尝试添加其他包时。我将tldextract添加到requirements.txt中,并将import tldextract放入main.py中,这会导致

ModuleNotFoundError: No module named 'tldextract'

127.0.0.1 - - [14/Jun/2023 00:24:10] "GET /__/functions.yaml HTTP/1.1" 500 -

⬢  functions: Failed to load function definition from source: FirebaseError: Failed to parse build specification

当我运行firebase emulators:startfirebase deploy --only functions时。似乎venv文件夹也没有更新。
我尝试激活venv和pip install -r requirements.txt,这使得本地执行与firebase emulators:start一起工作,但重新部署这些函数后,它们仍然在云中失败。
我尝试了不同的包,以确保它不仅仅是一个特定的包。但是在我测试的所有包中添加其他pip包到requirements.txt并将它们导入main.py中都失败了。
我做错了什么?

wztqucjr

wztqucjr1#

以下内容为我解决了这个问题:
删除由firebase init functions创建的venv文件夹。
按如下所示创建一个新的:

python3.11 -m venv venv
source venv/bin/activate
pip3 install --upgrade pip
python3.11 -m pip install -r requirements.txt

现在使用firebase deploy --only functions进行部署

相关问题