Ошибка Numpy в Python3 Google App Flexible Engine

Я запускаю Python3 в App Engine (Fleixble) и получаю следующую ошибку:

ImportError: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes 
all files not under version control).  Otherwise reinstall numpy.

Я загрузил библиотеку numpy «pip3 install -t / lib numpy» и поместил ее в свой файл требований (не уверен, что это правильно).

Requirements.txt:

Flask==1.0.2
gunicorn==19.7.1
numpy==1.15.4

Я несколько раз переустанавливал numpy и получил этот журнал:

Collecting numpy
Using cached
https://files.pythonhosted.org/packages/74/68/2b00ba3c7390354db2a1706291750b6b7e911f6f79c0bd2184ae04f3c6fd/numpy-1.15.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
quandl 3.2.0 has requirement requests<2.18,>=2.7.0, but you'll have 
requests 2.19.1 which is incompatible.
Installing collected packages: numpy
Successfully installed numpy-1.15.4

Любая помощь будет принята с благодарностью :)

РЕДАКТИРОВАТЬ:

Я наткнулся на это - https://github.com/numpy/numpy/issues/9272

Однако похоже, что это влияет на Python 3.6.0, тогда как интерпретатор времени выполнения Python - 3.6.4 (как указано '3') в файле app.yaml. Подробнее о конфигурации Python Google здесь - https://cloud.google.com/appengine/docs/fflexible/python/runtime.


person Hews    schedule 11.12.2018    source источник


Ответы (1)


Проблема в том, что вы устанавливаете встроенный дистрибутив («колесо») для macOS, но среда, в которой вы пытаетесь использовать зависимость, не является macOS. Вы можете сказать это по имени файла:

numpy-1.15.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl

Вам нужно явно указать параметры платформы / ABI / реализации для тех, которые требуются среде Flex:

$ pip install \
    --target lib \
    --python-version 36 \
    --platform manylinux1_x86_64 \
    --abi cp36m \
    --implementation cp \
    --only-binary=:all:
    numpy

Убедитесь, что вы делаете это из чистого lib каталога и с последней версией pip.

person Dustin Ingram    schedule 11.12.2018
comment
Хорошо спасибо! Теперь я получаю эту ошибку - ImportError: Расширение C: ни один модуль с именем pandas._libs.tslib не построен. Если вы хотите импортировать панды из исходного каталога, вам может потребоваться запустить python setup.py build_ext --inplace --force, чтобы сначала создать расширения C. Как мне сначала создать расширения C? - person Hews; 11.12.2018