Docker-Hub-frolvlad / docker-alpine-python-machinelearning

Small Docker image with Python Machine Learning tools (~180MB) https://hub.docker.com/r/frolvlad/alpine-python-machinelearning/
MIT License
79 stars 23 forks source link

Error while installing scikit-learn #1

Open alejandromartinezgotor opened 5 years ago

alejandromartinezgotor commented 5 years ago
Building wheels for collected packages: scikit-learn
  Building wheel for scikit-learn (setup.py): started
  Building wheel for scikit-learn (setup.py): finished with status 'error'
  ERROR: Complete output from command /usr/bin/python3.6 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-0pwb6fnp/scikit-learn/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-6q9ra48a --python-tag cp36:
  ERROR: Partial import of sklearn during the build process.
  blas_opt_info:
  blas_mkl_info:
  customize UnixCCompiler
    libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/']
    NOT AVAILABLE

  blis_info:
  customize UnixCCompiler
    libraries blis not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/']
    NOT AVAILABLE

  openblas_info:
  customize UnixCCompiler
  customize UnixCCompiler
  customize UnixCCompiler
    FOUND:
      libraries = ['openblas', 'openblas']
      library_dirs = ['/usr/lib']
      language = c
      define_macros = [('HAVE_CBLAS', None)]

    FOUND:
      libraries = ['openblas', 'openblas']
      library_dirs = ['/usr/lib']
      language = c
      define_macros = [('HAVE_CBLAS', None)]

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py", line 290, in <module>
      setup_package()
    File "/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py", line 286, in setup_package
      setup(**metadata)
    File "/usr/lib/python3.6/site-packages/numpy/distutils/core.py", line 137, in setup
      config = configuration()
    File "/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py", line 174, in configuration
      config.add_subpackage('sklearn')
    File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1036, in add_subpackage
      caller_level = 2)
    File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1005, in get_subpackage
      caller_level = caller_level + 1)
    File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 942, in _get_configuration_from_setup_py
      config = setup_module.configuration(*args)
    File "sklearn/setup.py", line 66, in configuration
      config.add_subpackage('utils')
    File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1036, in add_subpackage
      caller_level = 2)
    File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1005, in get_subpackage
      caller_level = caller_level + 1)
    File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 942, in _get_configuration_from_setup_py
      config = setup_module.configuration(*args)
    File "sklearn/utils/setup.py", line 8, in configuration
      from Cython import Tempita
  ModuleNotFoundError: No module named 'Cython'
  ----------------------------------------
  ERROR: Failed building wheel for scikit-learn
  Running setup.py clean for scikit-learn
Failed to build scikit-learn
Installing collected packages: joblib, scikit-learn
  Running setup.py install for scikit-learn: started
    Running setup.py install for scikit-learn: finished with status 'error'
    ERROR: Complete output from command /usr/bin/python3.6 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-xwiz6qmq/install-record.txt --single-version-externally-managed --compile:
    ERROR: Partial import of sklearn during the build process.
    blas_opt_info:
    blas_mkl_info:
    customize UnixCCompiler
      libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/']
      NOT AVAILABLE

    blis_info:
    customize UnixCCompiler
      libraries blis not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/']
      NOT AVAILABLE

    openblas_info:
    customize UnixCCompiler
    customize UnixCCompiler
    customize UnixCCompiler
      FOUND:
        libraries = ['openblas', 'openblas']
        library_dirs = ['/usr/lib']
        language = c
        define_macros = [('HAVE_CBLAS', None)]

      FOUND:
        libraries = ['openblas', 'openblas']
        library_dirs = ['/usr/lib']
        language = c
        define_macros = [('HAVE_CBLAS', None)]

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py", line 290, in <module>
        setup_package()
      File "/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py", line 286, in setup_package
        setup(**metadata)
      File "/usr/lib/python3.6/site-packages/numpy/distutils/core.py", line 137, in setup
        config = configuration()
      File "/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py", line 174, in configuration
        config.add_subpackage('sklearn')
      File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1036, in add_subpackage
        caller_level = 2)
      File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1005, in get_subpackage
        caller_level = caller_level + 1)
      File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 942, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "sklearn/setup.py", line 66, in configuration
        config.add_subpackage('utils')
      File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1036, in add_subpackage
        caller_level = 2)
      File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 1005, in get_subpackage
        caller_level = caller_level + 1)
      File "/usr/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 942, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "sklearn/utils/setup.py", line 8, in configuration
        from Cython import Tempita
    ModuleNotFoundError: No module named 'Cython'
    ----------------------------------------
ERROR: Command "/usr/bin/python3.6 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-0pwb6fnp/scikit-learn/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-xwiz6qmq/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-0pwb6fnp/scikit-learn/
The command '/bin/sh -c apk add --no-cache         --virtual=.build-dependencies         g++ gfortran file binutils         musl-dev python3-dev openblas-dev &&     apk add libstdc++ openblas &&         ln -s locale.h /usr/include/xlocale.h &&         pip install numpy &&     pip install pandas &&     pip install scipy &&     pip install scikit-learn &&         rm -r /root/.cache &&     find /usr/lib/python3.*/ -name 'tests' -exec rm -r '{}' + &&     find /usr/lib/python3.*/site-packages/ -name '*.so' -print -exec sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \; &&         rm /usr/include/xlocale.h &&         apk del .build-dependencies' returned a non-zero code: 1
liiri commented 4 years ago

This still recurs for me in Alpine 3.8 Can be fixed by pip install Cython before pip install scikit-learn

KacperKubara commented 3 years ago

I have encountered the same error, installing Cython before does not fix the issue

frol commented 3 years ago

I don't have the bandwidth to work on a fix, but I will be glad to review and release a fix.