我想在GAE上使用firebase-admin。 因此,我安装了以下方法的firebase-admin。
https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27
appengine_config.py
from google.appengine.ext import vendor
# Add any libraries install in the "lib" folder.
vendor.add('lib')
requirements.txt
firebase-admin
并安装它。
pip install -t lib -r requirements.txt
然后,我在“ lib”文件夹中签入了六个文件。 六个版本是1.11.0。
但是我已经使用了内置的六个。
app.yaml
libraries:
- name: six
version: latest
内置的六个版本是“ 1.9.0”。
这些差异对GAE流程有影响吗? 如果有效果,该如何解决?
答案 0 :(得分:1)
如果lib目录和app.yaml中存在不同版本的库,则lib目录中的库将可供您的应用使用。
因此,有效地,您的应用将使用六个1.11.0。您可以通过登录six.__version__
进行验证,然后查看获得的版本。
为避免混淆,我可能会删除app.yaml中的六个库条目。
答案 1 :(得分:1)
firebase-admin
软件包requires six>=1.6.1
,因此将版本1.11.0
手动复制到您的应用不会导致该库出现问题。
但是,您应该确保最初为之添加six
依赖项的应用程序中的代码可以在此更高版本上使用,因为复制的库将优先于任何built-in libraries(因此也不需要在app.yaml
中指定它。
值得一提的是,复制的库计入文件配额,因为该库与您的应用程序代码一起上传到App Engine。如果您担心达到此配额,请you can use this this technique to only install the dependencies that aren't already built-in,以减少文件的总大小。