我想在GAE上使用firebase-admin。所以我按照方法安装了firebase-admin。
https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27
app engine_config.朋友
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的过程有影响吗?如果有任何影响,如何解决?
如果lib目录和app.yaml中存在不同版本的库,则lib目录中的库是可供应用程序使用的库。所以,实际上,你的应用程序将使用六个1.11.0。您可以通过记录six.__version__
来验证这一点,并查看您获得的版本。
为了避免混淆,我可能会删除app.yaml中的六个库条目。
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,这将减少整体文件大小。