Колесо сборки для scipy (setup.py): завершено со статусом «ошибка» - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь создать Docker образ и установить эти требования с помощью файла require.txt:

numpy==1.18.1
scipy==1.2.1
joblib==0.13.2
Cython==0.29.13
pandas==0.25.3
scikit-learn==0.21.3
h5py==2.8.0
Keras==2.3.1
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0

Это мой dockerfile:

FROM python:3

MAINTAINER author@sample.com

RUN mkdir /test
COPY ./ /test
WORKDIR /test

## Install your dependencies here using apt-get etc.


RUN pip install -r requirements.txt

Когда я попробуйте построить Это сообщение об ошибке, которое я получаю

ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-d0v5nn_0/scipy/setup.py'"'"'; __file__='"'"'/tmp/pip-install-d0v5nn_0/scipy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-u8mo7l4r
       cwd: /tmp/pip-install-d0v5nn_0/scipy/
  Complete output (9 lines):
  /tmp/pip-install-d0v5nn_0/scipy/setup.py:114: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    import imp
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-d0v5nn_0/scipy/setup.py", line 492, in <module>
      setup_package()
    File "/tmp/pip-install-d0v5nn_0/scipy/setup.py", line 468, in setup_package
      from numpy.distutils.core import setup
  ModuleNotFoundError: No module named 'numpy'
  ----------------------------------------
  ERROR: Failed building wheel for scipy

После этого он также пытается запустить

Running setup.py clean for scipy

, но безуспешно

1 Ответ

1 голос
/ 31 марта 2020

Не уверен, что это является причиной ошибки, но, учитывая примечания к выпуску Numpy 1.18.1 , у вас должен быть Cython ≥ 0.29.14, тогда как requirements.txt указывает Cython==0.29.13.

FROM python:3 приводит к получению Python 3.8.

Версии Python, поддерживаемые в этом выпуске, - 3.5-3.8. Разработчики нижнего уровня должны использовать Cython> = 0.29.14 для поддержки Python 3.8 и OpenBLAS> = 3.7, чтобы избежать ошибок в архитектуре Skylake.

...