Google App Engine部署报错:lib/plaid/model目录文件数超1000限制
Google App Engine Python 3.7部署报错:目录文件数超过1000限制
问题背景
在Google App Engine Python 3.7标准环境部署应用时,触发以下错误:
ERROR: (gcloud.app.deploy) Error Response: [3] The directory [lib/plaid/model] has too many files (greater than 1000).
当前使用的requirements.txt内容:
apiclient firebase_admin google.auth jinja2 pytz stripe flask gunicorn requests requests_toolbelt google-cloud-tasks plaid-python
尽管整个lib文件夹总计7654个文件,但lib/plaid/model子目录的文件数突破了GAE标准环境单目录最多1000个文件的限制。
解决方案
1. 安装plaid-python时禁用预编译包
使用pip的--no-binary参数安装plaid-python,避免生成大量自动生成的model文件:
pip install -t lib -r requirements.txt --no-binary plaid-python
源码编译的plaid-python不会在model目录生成过多文件,可绕过单目录文件数限制。
2. 升级plaid-python到新版本
部分高版本的plaid-python优化了SDK结构,减少了自动生成的model文件数量。修改requirements.txt指定新版本:
plaid-python>=18.0.0
重新安装依赖后再尝试部署。
3. 手动精简model目录文件
如果上述方法无法生效,可手动删除lib/plaid/model中未被代码引用的文件。仅保留业务实际用到的model类对应的文件即可,但此方法需手动维护,每次更新依赖后都需重复操作,适合临时应急。
4. 切换到App Engine灵活环境(可选)
GAE灵活环境没有单目录1000文件的限制,如果应用架构允许,可考虑切换部署环境。注意灵活环境的配置方式、资源占用和成本与标准环境存在差异。
内容的提问来源于stack exchange,提问作者Jack tileman
相关产品推荐
相关产品推荐

