我在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:start
或firebase deploy --only functions
时。似乎venv
文件夹也没有更新。
我尝试激活venv和pip install -r requirements.txt
,这使得本地执行与firebase emulators:start
一起工作,但重新部署这些函数后,它们仍然在云中失败。
我尝试了不同的包,以确保它不仅仅是一个特定的包。但是在我测试的所有包中添加其他pip包到requirements.txt
并将它们导入main.py
中都失败了。
我做错了什么?
1条答案
按热度按时间wztqucjr1#
以下内容为我解决了这个问题:
删除由
firebase init functions
创建的venv
文件夹。按如下所示创建一个新的:
现在使用
firebase deploy --only functions
进行部署