Медленный импорт numpy и pandas в Google Cloud RunPython

Программы на Python
Ответить
Anonymous
 Медленный импорт numpy и pandas в Google Cloud Run

Сообщение Anonymous »

Я разрабатываю API и развертываю его в Google Cloud Run.
Существует предварительный скрипт Python, который импортирует pandas и numpy. Когда я рассчитываю время импорта, numpy занимает около 2 секунд, а pandas — около 4 секунд в Cloud Run, а не менее 0,5 секунды на моем локальном компьютере.
Я использую python:3.8-alpine в качестве базового образа для создания контейнера докеров. (Хотя я пробовал несколько образов, отличных от Alpine...)
Вот Dockerfile

Код: Выделить всё

FROM python:3.8-alpine

COPY requirements.txt ./

RUN apk add --no-cache --virtual build-deps g++ gcc gfortran make libffi-dev openssl-dev file build-base \
&& apk add --no-cache libstdc++ openblas-dev lapack-dev \
&& pip install --no-cache-dir uvicorn gunicorn fastapi \
&& CFLAGS="-g0 -Wl,--strip-all -I/usr/include:/usr/local/include -L/usr/lib:/usr/local/lib" \
&& pip install --no-cache-dir --compile --global-option=build_ext --global-option="-j 16" -r requirements.txt \
&& rm -r /root/.cache \
&& find /usr/local/lib/python3.*/ -name 'tests' -exec rm -r '{}' + \
&& find /usr/local/lib/python3.*/site-packages/ \( -type d -a -name test -o -name tests \) -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) -exec rm -r '{}' + \
&& find /usr/local/lib/python3.*/site-packages/ -name '*.so' -print -exec /bin/sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \; \
&& find /usr/lib/ -name '*.so' -print -exec /bin/sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \; \
&& find /usr/local/lib/ -name '*.so' -print -exec /bin/sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \; \
&& rm -rf /usr/local/lib/python*/ensurepip \
&& rm -rf /usr/local/lib/python*/idlelib \
&& rm -rf /usr/local/lib/python*/distutils/command \
&& rm -rf /usr/local/lib/python*/lib2to2 \
&& rm -rf /usr/local/lib/python*/__pycache__/* \
&& rm -r /requirements.txt /databases.zip \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apk/* \
&& apk del build-deps g++ gcc make libffi-dev openssl-dev file build-base

CMD ["python","script.py"]
requirements.txt:

Код: Выделить всё

numpy==1.2.0
pandas==1.2.1
и исполняемый файл Python script.py :

Код: Выделить всё

import time

ts = time.time()
import pandas
te = time.time()
print(te-ts)

Ожидается ли такой медленный импорт? Или, возможно, есть какой-то трюк с импортом Python?
Я просматривал все проблемы stackoverflow и github, но ничего похожего на эту «проблему»/«поведение».
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/660 ... -cloud-run
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»