Numpy在Python3 Google App Flexible Engine中失败

时间:2018-12-11 00:05:18

标签: python numpy google-app-engine google-app-engine-python app-engine-flexible

我正在App Engine(Fleixble)中运行Python3,并收到以下错误:

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,而app.yaml文件中的Python运行时解释器为3.6.4(由“ 3”指定)。有关Google的Python配置的更多信息,请点击此处-https://cloud.google.com/appengine/docs/flexible/python/runtime

1 个答案:

答案 0 :(得分:1)

问题是您正在为macOS安装构建的发行版(“ wheel”),但是您尝试在其中使用依赖项的环境不是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

您将要为Flex环境所需的那些显式指定platform / ABI / implementation选项:

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

请确保使用干净的lib目录以及最新版本的pip进行此操作。