Встроенные библиотеки VS библиотеки, установленные в папке "lib" - PullRequest
0 голосов
/ 30 августа 2018

Я хочу использовать firebase-admin в GAE. Поэтому я установил 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? Если есть какой-либо эффект, как решить это?

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Для пакета firebase-admin требуется six>=1.6.1, поэтому ручное копирование версии 1.11.0 в ваше приложение не вызовет проблем с этой библиотекой.

Однако вы должны убедиться, что код в вашем приложении, для которого вы изначально добавили зависимость six, будет работать с этой более поздней версией, поскольку скопированные библиотеки будут иметь приоритет над любыми встроенными библиотеками (поэтому указывать его в app.yaml также не нужно).

Стоит отметить, что скопированные библиотеки учитываются в квотах файлов, поскольку библиотека загружается в App Engine вместе с кодом вашего приложения. Если вы беспокоитесь о введении этой квоты, , вы можете использовать эту технику только для установки зависимостей, которые еще не встроены , что сократит общий размер файла.

0 голосов
/ 30 августа 2018

Если в каталоге lib и в app.yaml есть другая версия библиотеки, то в каталоге lib будет та, которая будет доступна вашему приложению. Итак, по сути, ваше приложение будет использовать шесть 1.11.0. Вы можете проверить это, войдя в систему six.__version__ и узнав, какую версию вы получите.

Чтобы избежать путаницы, я бы, вероятно, удалил шесть записей библиотеки в app.yaml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...