Если вы хотите использовать библиотеку python -magi c, вы можете выполнить следующую процедуру:
App Engine Standard
- Используйте модуль venv * для создания изолированной среды Python в каталоге, внешнем по отношению к вашему проекту, и активируйте его с помощью:
python3 -m venv env
source env/bin/activate
Установите библиотеку
python -magi c с помощью pip, выполнив:
pip install python-magic
Добавьте библиотеку в ваш файл needs.txt. Например, если вы запускаете
Quickstart из Официальной документации, ваш файл needs.txt должен выглядеть следующим образом:
Flask==1.1.1
python-magic==0.4.15
Выполните импорт библиотеки в соответствующий модуль кода вашего приложения. Например, если вы запускаете
Quickstart из Официальной документации, соответствующий раздел вашего файла main.py должен выглядеть следующим образом:
...
# [START gae_python37_app]
from flask import Flask
import magic
# If `entrypoint` is not defined in app.yaml, App Engine will look for an app
# called `app` in `main.py`.
app = Flask(__name__)
...
App Engine Flexible Библиотека libmagi c C предварительно не установлена в среде Flex ( здесь - список установленных библиотек). Поэтому вам нужно будет создать пользовательскую среду выполнения .
, изменив ваш app.yaml на следующее:
runtime: custom
env: flex
И добавив соответствующий файл Docker в каталог вашего проекта. , Например:
FROM python:3.7
WORKDIR /app
COPY . /app
RUN apt-get update &&\
apt-get install -y libmagic-dev
RUN pip install -r requirements.txt
EXPOSE 8080
CMD ["gunicorn", "main:app", "-b", ":8080", "--timeout", "300"]
должно быть достаточно для успешного развертывания приложения.
Обратите внимание, что Dockerfile просто устанавливает библиотеку libmagi c C, затем устанавливает ваш файл require.txt и, наконец, запускает gunicorn в порту, необходимом для App Engine. Но не стесняйтесь адаптировать его к вашим потребностям.