wiserain / docker-flexget

Docker image for running Flexget
https://hub.docker.com/r/wiserain/flexget
68 stars 40 forks source link

Error in installing numpy #62

Closed mitlearn closed 2 years ago

mitlearn commented 2 years ago

While trying install numpy via custom-cont.init.d script but failed. Then I tried install manually, it return msg

root@7536f3269223:/config# pip3 install numpy==1.19
Collecting numpy==1.19
  Downloading numpy-1.19.0.zip (7.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━ 7.3/7.3 MB 6.6 MB/s eta 0:00:00  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [237 lines of output]
      Running from numpy source directory.
      setup.py:460: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
        run_build = parse_setuppy_commands()
      Cythonizing sources
      Processing numpy/random/_bounded_integers.pxd.in
      Processing numpy/random/_mt19937.pyx
      /tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/tools/cythonize.py:73: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        required_version = LooseVersion('0.29.14')
      /tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/tools/cythonize.py:75: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        if LooseVersion(cython_version) < required_version:
      Processing numpy/random/_generator.pyx
      Processing numpy/random/_philox.pyx
      Processing numpy/random/_bounded_integers.pyx.in
      Processing numpy/random/_common.pyx
      Processing numpy/random/_sfc64.pyx
      Processing numpy/random/bit_generator.pyx
      Processing numpy/random/_pcg64.pyx
      Processing numpy/random/mtrand.pyx
      blas_opt_info:
      blas_mkl_info:
      customize UnixCCompiler
        libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

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

      openblas_info:
        libraries openblas not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      atlas_3_10_blas_threads_info:
      Setting PTATLAS=ATLAS
        libraries tatlas not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      atlas_3_10_blas_info:
        libraries satlas not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      atlas_blas_threads_info:
      Setting PTATLAS=ATLAS
        libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      atlas_blas_info:
        libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      accelerate_info:
        NOT AVAILABLE

      /tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/system_info.py:1914: UserWarning:
          Optimized (vendor) Blas libraries are not found.
          Falls back to netlib Blas library which has worse performance.
          A better performance should be easily gained by switching
          Blas library.
        if self._calc_info(blas):
      blas_info:
        libraries blas not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      /tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/system_info.py:1914: UserWarning:
          Blas (http://www.netlib.org/blas/) libraries not found.
          Directories to search for the libraries can be specified in the
          numpy/distutils/site.cfg file (section [blas]) or by setting
          the BLAS environment variable.
        if self._calc_info(blas):
      blas_src_info:
        NOT AVAILABLE

      /tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/system_info.py:1914: UserWarning:
          Blas (http://www.netlib.org/blas/) sources not found.
          Directories to search for the sources can be specified in the
          numpy/distutils/site.cfg file (section [blas_src]) or by setting
          the BLAS_SRC environment variable.
        if self._calc_info(blas):
        NOT AVAILABLE
non-existing path in 'numpy/distutils': 'site.cfg'
      lapack_opt_info:
      lapack_mkl_info:
        libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      openblas_lapack_info:
        libraries openblas not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      openblas_clapack_info:
        libraries openblas,lapack not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      flame_info:
        libraries flame not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      atlas_3_10_threads_info:
      Setting PTATLAS=ATLAS
        libraries lapack_atlas not found in /usr/local/lib
        libraries tatlas,tatlas not found in /usr/local/lib
        libraries lapack_atlas not found in /usr/lib
        libraries tatlas,tatlas not found in /usr/lib
      <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
        NOT AVAILABLE

      atlas_3_10_info:
        libraries lapack_atlas not found in /usr/local/lib
        libraries satlas,satlas not found in /usr/local/lib
        libraries lapack_atlas not found in /usr/lib
        libraries satlas,satlas not found in /usr/lib
      <class 'numpy.distutils.system_info.atlas_3_10_info'>
        NOT AVAILABLE

      atlas_threads_info:
      Setting PTATLAS=ATLAS
        libraries lapack_atlas not found in /usr/local/lib
        libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
        libraries lapack_atlas not found in /usr/lib
        libraries ptf77blas,ptcblas,atlas not found in /usr/lib
      <class 'numpy.distutils.system_info.atlas_threads_info'>
        NOT AVAILABLE

      atlas_info:
        libraries lapack_atlas not found in /usr/local/lib
        libraries f77blas,cblas,atlas not found in /usr/local/lib
        libraries lapack_atlas not found in /usr/lib
        libraries f77blas,cblas,atlas not found in /usr/lib
      <class 'numpy.distutils.system_info.atlas_info'>
        NOT AVAILABLE

      lapack_info:
        libraries lapack not found in ['/usr/local/lib', '/usr/lib']
        NOT AVAILABLE

      /tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/system_info.py:1748: UserWarning:
          Lapack (http://www.netlib.org/lapack/) libraries not found.
          Directories to search for the libraries can be specified in the
          numpy/distutils/site.cfg file (section [lapack]) or by setting
          the LAPACK environment variable.
        return getattr(self, '_calc_info_{}'.format(name))()
      lapack_src_info:
        NOT AVAILABLE

      /tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/system_info.py:1748: UserWarning:
          Lapack (http://www.netlib.org/lapack/) sources not found.
          Directories to search for the sources can be specified in the
          numpy/distutils/site.cfg file (section [lapack_src]) or by setting
          the LAPACK_SRC environment variable.
        return getattr(self, '_calc_info_{}'.format(name))()
        NOT AVAILABLE

      numpy_linalg_lapack_lite:
        FOUND:
          language = c
          define_macros = [('HAVE_BLAS_ILP64', None), ('BLAS_SYMBOL_SUFFIX', '64_')]

      /tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py:275: UserWarning: Unknown distribution option: 'define_macros'
        warnings.warn(msg)
      running dist_info
      running build_src
      build_src
      building py_modules sources
      creating build
      creating build/src.linux-x86_64-3.9
      creating build/src.linux-x86_64-3.9/numpy
      creating build/src.linux-x86_64-3.9/numpy/distutils
      building library "npymath" sources
      Could not locate executable gfortran
      Could not locate executable f95
      Could not locate executable ifort
      Could not locate executable ifc
      Could not locate executable lf95
      Could not locate executable pgfortran
      Could not locate executable f90
      Could not locate executable f77
      Could not locate executable fort
      Could not locate executable efort
      Could not locate executable efc
      Could not locate executable g77
      Could not locate executable g95
      Could not locate executable pathf95
      Could not locate executable nagfor
      don't know how to compile Fortran code on platform 'posix'
      Traceback (most recent call last):
        File "/usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 164, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 188, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 281, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
          exec(compile(code, file, 'exec'), locals())
        File "setup.py", line 489, in <module>
          setup_package()
        File "setup.py", line 481, in setup_package
          setup(**metadata)
        File "/tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/core.py", line 169, in setup
          return old_setup(**new_attr)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/command/dist_info.py", line 35, in run
          egg_info.run()
        File "/tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/command/egg_info.py", line 24, in run
          self.run_command("build_src")
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-7sgmtvhm/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/command/build_src.py", line 144, in run
          self.build_sources()
        File "/tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/command/build_src.py", line 155, in build_sources
          self.build_library_sources(*libname_info)
        File "/tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/command/build_src.py", line 288, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
        File "/tmp/pip-install-8m_yt9m7/numpy_9a517ae298db4061840b5b16a4cae074/numpy/distutils/command/build_src.py", line 378, in generate_sources
          source = func(extension, build_dir)
        File "numpy/core/setup.py", line 655, in get_mathlib_info
          raise RuntimeError("Broken toolchain: cannot link a simple C program")
      RuntimeError: Broken toolchain: cannot link a simple C program
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

It seems to required gcc dependency, so if possible pre-compile&install numpy while building docker, it would be solved.

Thanks in advanced.

mitlearn commented 2 years ago

Solved after apk add build-base python3-dev manually