mampfes / hacs_waste_collection_schedule

Home Assistant integration framework for (garbage collection) schedules
MIT License
1.07k stars 653 forks source link

[Bug]: 1.44.0 -> 1.45.0 update hacs not starting anymore #1705

Closed CedricBojoly closed 9 months ago

CedricBojoly commented 9 months ago

I Have A Problem With:

The integration in general

What's Your Problem

if i try to install shapely manually i get an numpy error So this version is not working for me

Source (if relevant)

No response

Logs

homeassistant  | 2024-01-21 12:47:29.564 ERROR (SyncWorker_5) [homeassistant.util.package] Unable to install package shapely: error: subprocess-exited-with-error
homeassistant  |
homeassistant  |   × pip subprocess to install build dependencies did not run successfully.
homeassistant  |   │ exit code: 1
homeassistant  |   ╰─> [300 lines of output]
homeassistant  |       Collecting Cython
homeassistant  |         Using cached Cython-3.0.8-cp311-cp311-musllinux_1_1_aarch64.whl (3.5 MB)
homeassistant  |       Collecting oldest-supported-numpy
homeassistant  |         Using cached oldest_supported_numpy-2023.12.21-py3-none-any.whl (4.9 kB)
homeassistant  |       Collecting setuptools>=61.0.0
homeassistant  |         Using cached setuptools-69.0.3-py3-none-any.whl (819 kB)
homeassistant  |       Collecting numpy==1.23.2
homeassistant  |         Using cached numpy-1.23.2.tar.gz (10.7 MB)
homeassistant  |         Installing build dependencies: started
homeassistant  |         Installing build dependencies: finished with status 'done'
homeassistant  |         Getting requirements to build wheel: started
homeassistant  |         Getting requirements to build wheel: finished with status 'done'
homeassistant  |         Preparing metadata (pyproject.toml): started
homeassistant  |         Preparing metadata (pyproject.toml): finished with status 'done'
homeassistant  |       Building wheels for collected packages: numpy
homeassistant  |         Building wheel for numpy (pyproject.toml): started
homeassistant  |         Building wheel for numpy (pyproject.toml): finished with status 'error'
homeassistant  |         error: subprocess-exited-with-error
homeassistant  |
homeassistant  |         × Building wheel for numpy (pyproject.toml) did not run successfully.
homeassistant  |         │ exit code: 1
homeassistant  |         ╰─> [272 lines of output]
homeassistant  |             setup.py:71: RuntimeWarning: NumPy 1.23.2 may not yet support Python 3.11.
homeassistant  |               warnings.warn(
homeassistant  |             Running from numpy source directory.
homeassistant  |             setup.py:86: DeprecationWarning:
homeassistant  |
homeassistant  |               `numpy.distutils` is deprecated since NumPy 1.23.0, as a result
homeassistant  |               of the deprecation of `distutils` itself. It will be removed for
homeassistant  |               Python >= 3.12. For older Python versions it will remain present.
homeassistant  |               It is recommended to use `setuptools < 60.0` for those Python versions.
homeassistant  |               For more details, see:
homeassistant  |                 https://numpy.org/devdocs/reference/distutils_status_migration.html
homeassistant  |
homeassistant  |
homeassistant  |               import numpy.distutils.command.sdist
homeassistant  |             Processing numpy/random/_bounded_integers.pxd.in
homeassistant  |             Processing numpy/random/mtrand.pyx
homeassistant  |             Processing numpy/random/_sfc64.pyx
homeassistant  |             Processing numpy/random/_pcg64.pyx
homeassistant  |             Processing numpy/random/_common.pyx
homeassistant  |             Processing numpy/random/_philox.pyx
homeassistant  |             Processing numpy/random/bit_generator.pyx
homeassistant  |             Processing numpy/random/_mt19937.pyx
homeassistant  |             Processing numpy/random/_generator.pyx
homeassistant  |             Processing numpy/random/_bounded_integers.pyx.in
homeassistant  |             Cythonizing sources
homeassistant  |             INFO: blas_opt_info:
homeassistant  |             INFO: blas_armpl_info:
homeassistant  |             INFO: customize UnixCCompiler
homeassistant  |             INFO:   libraries armpl_lp64_mp not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: blas_mkl_info:
homeassistant  |             INFO:   libraries mkl_rt not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: blis_info:
homeassistant  |             INFO:   libraries blis not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: openblas_info:
homeassistant  |             INFO:   libraries openblas not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: accelerate_info:
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_3_10_blas_threads_info:
homeassistant  |             INFO: Setting PTATLAS=ATLAS
homeassistant  |             INFO:   libraries tatlas not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_3_10_blas_info:
homeassistant  |             INFO:   libraries satlas not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_blas_threads_info:
homeassistant  |             INFO: Setting PTATLAS=ATLAS
homeassistant  |             INFO:   libraries ptf77blas,ptcblas,atlas not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_blas_info:
homeassistant  |             INFO:   libraries f77blas,cblas,atlas not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             /tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/system_info.py:2077: UserWarning:
homeassistant  |                 Optimized (vendor) Blas libraries are not found.
homeassistant  |                 Falls back to netlib Blas library which has worse performance.
homeassistant  |                 A better performance should be easily gained by switching
homeassistant  |                 Blas library.
homeassistant  |               if self._calc_info(blas):
homeassistant  |             INFO: blas_info:
homeassistant  |             INFO:   libraries blas not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             /tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/system_info.py:2077: UserWarning:
homeassistant  |                 Blas (http://www.netlib.org/blas/) libraries not found.
homeassistant  |                 Directories to search for the libraries can be specified in the
homeassistant  |                 numpy/distutils/site.cfg file (section [blas]) or by setting
homeassistant  |                 the BLAS environment variable.
homeassistant  |               if self._calc_info(blas):
homeassistant  |             INFO: blas_src_info:
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             /tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/system_info.py:2077: UserWarning:
homeassistant  |                 Blas (http://www.netlib.org/blas/) sources not found.
homeassistant  |                 Directories to search for the sources can be specified in the
homeassistant  |                 numpy/distutils/site.cfg file (section [blas_src]) or by setting
homeassistant  |                 the BLAS_SRC environment variable.
homeassistant  |               if self._calc_info(blas):
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             non-existing path in 'numpy/distutils': 'site.cfg'
homeassistant  |             INFO: lapack_opt_info:
homeassistant  |             INFO: lapack_armpl_info:
homeassistant  |             INFO:   libraries armpl_lp64_mp not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: lapack_mkl_info:
homeassistant  |             INFO:   libraries mkl_rt not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: openblas_lapack_info:
homeassistant  |             INFO:   libraries openblas not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: openblas_clapack_info:
homeassistant  |             INFO:   libraries openblas,lapack not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: flame_info:
homeassistant  |             INFO:   libraries flame not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_3_10_threads_info:
homeassistant  |             INFO: Setting PTATLAS=ATLAS
homeassistant  |             INFO:   libraries tatlas,tatlas not found in /config/lsiopy/lib
homeassistant  |             INFO:   libraries tatlas,tatlas not found in /usr/local/lib
homeassistant  |             INFO:   libraries tatlas,tatlas not found in /usr/lib
homeassistant  |             INFO: <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_3_10_info:
homeassistant  |             INFO:   libraries satlas,satlas not found in /config/lsiopy/lib
homeassistant  |             INFO:   libraries satlas,satlas not found in /usr/local/lib
homeassistant  |             INFO:   libraries satlas,satlas not found in /usr/lib
homeassistant  |             INFO: <class 'numpy.distutils.system_info.atlas_3_10_info'>
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_threads_info:
homeassistant  |             INFO: Setting PTATLAS=ATLAS
homeassistant  |             INFO:   libraries ptf77blas,ptcblas,atlas not found in /config/lsiopy/lib
homeassistant  |             INFO:   libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
homeassistant  |             INFO:   libraries ptf77blas,ptcblas,atlas not found in /usr/lib
homeassistant  |             INFO: <class 'numpy.distutils.system_info.atlas_threads_info'>
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: atlas_info:
homeassistant  |             INFO:   libraries f77blas,cblas,atlas not found in /config/lsiopy/lib
homeassistant  |             INFO:   libraries f77blas,cblas,atlas not found in /usr/local/lib
homeassistant  |             INFO:   libraries f77blas,cblas,atlas not found in /usr/lib
homeassistant  |             INFO: <class 'numpy.distutils.system_info.atlas_info'>
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: lapack_info:
homeassistant  |             INFO:   libraries lapack not found in ['/config/lsiopy/lib', '/usr/local/lib', '/usr/lib']
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             /tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/system_info.py:1902: UserWarning:
homeassistant  |                 Lapack (http://www.netlib.org/lapack/) libraries not found.
homeassistant  |                 Directories to search for the libraries can be specified in the
homeassistant  |                 numpy/distutils/site.cfg file (section [lapack]) or by setting
homeassistant  |                 the LAPACK environment variable.
homeassistant  |               return getattr(self, '_calc_info_{}'.format(name))()
homeassistant  |             INFO: lapack_src_info:
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             /tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/system_info.py:1902: UserWarning:
homeassistant  |                 Lapack (http://www.netlib.org/lapack/) sources not found.
homeassistant  |                 Directories to search for the sources can be specified in the
homeassistant  |                 numpy/distutils/site.cfg file (section [lapack_src]) or by setting
homeassistant  |                 the LAPACK_SRC environment variable.
homeassistant  |               return getattr(self, '_calc_info_{}'.format(name))()
homeassistant  |             INFO:   NOT AVAILABLE
homeassistant  |             INFO:
homeassistant  |             INFO: numpy_linalg_lapack_lite:
homeassistant  |             INFO:   FOUND:
homeassistant  |             INFO:     language = c
homeassistant  |             INFO:     define_macros = [('HAVE_BLAS_ILP64', None), ('BLAS_SYMBOL_SUFFIX', '64_')]
homeassistant  |             INFO:
homeassistant  |             Warning: attempted relative import with no known parent package
homeassistant  |             /tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py:275: UserWarning: Unknown distribution option: 'define_macros'
homeassistant  |               warnings.warn(msg)
homeassistant  |             running bdist_wheel
homeassistant  |             running build
homeassistant  |             running config_cc
homeassistant  |             INFO: unifing config_cc, config, build_clib, build_ext, build commands --compiler options
homeassistant  |             running config_fc
homeassistant  |             INFO: unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
homeassistant  |             running build_src
homeassistant  |             INFO: build_src
homeassistant  |             INFO: building py_modules sources
homeassistant  |             creating build
homeassistant  |             creating build/src.linux-aarch64-3.11
homeassistant  |             creating build/src.linux-aarch64-3.11/numpy
homeassistant  |             creating build/src.linux-aarch64-3.11/numpy/distutils
homeassistant  |             INFO: building library "npymath" sources
homeassistant  |             WARN: Could not locate executable armflang
homeassistant  |             WARN: Could not locate executable gfortran
homeassistant  |             WARN: Could not locate executable f95
homeassistant  |             WARN: Could not locate executable ifort
homeassistant  |             WARN: Could not locate executable ifc
homeassistant  |             WARN: Could not locate executable lf95
homeassistant  |             WARN: Could not locate executable pgfortran
homeassistant  |             WARN: Could not locate executable nvfortran
homeassistant  |             WARN: Could not locate executable f90
homeassistant  |             WARN: Could not locate executable f77
homeassistant  |             WARN: Could not locate executable fort
homeassistant  |             WARN: Could not locate executable efort
homeassistant  |             WARN: Could not locate executable efc
homeassistant  |             WARN: Could not locate executable g77
homeassistant  |             WARN: Could not locate executable g95
homeassistant  |             WARN: Could not locate executable pathf95
homeassistant  |             WARN: Could not locate executable nagfor
homeassistant  |             WARN: Could not locate executable frt
homeassistant  |             WARN: don't know how to compile Fortran code on platform 'posix'
homeassistant  |
homeassistant  |
homeassistant  |             [Errno 2] No such file or directory: 'gcc'
homeassistant  |
homeassistant  |
homeassistant  |             Traceback (most recent call last):
homeassistant  |               File "/tmp/tmpnwl8kmjs_in_process.py", line 363, in <module>
homeassistant  |                 main()
homeassistant  |               File "/tmp/tmpnwl8kmjs_in_process.py", line 345, in main
homeassistant  |                 json_out['return_val'] = hook(**hook_input['kwargs'])
homeassistant  |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/tmpnwl8kmjs_in_process.py", line 261, in build_wheel
homeassistant  |                 return _build_backend().build_wheel(wheel_directory, config_settings,
homeassistant  |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 230, in build_wheel
homeassistant  |                 return self._build_with_temp_dir(['bdist_wheel'], '.whl',
homeassistant  |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 215, in _build_with_temp_dir
homeassistant  |                 self.run_setup()
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 268, in run_setup
homeassistant  |                 self).run_setup(setup_script=setup_script)
homeassistant  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 158, in run_setup
homeassistant  |                 exec(compile(code, __file__, 'exec'), locals())
homeassistant  |               File "setup.py", line 493, in <module>
homeassistant  |                 setup_package()
homeassistant  |               File "setup.py", line 485, in setup_package
homeassistant  |                 setup(**metadata)
homeassistant  |               File "/tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/core.py", line 169, in setup
homeassistant  |                 return old_setup(**new_attr)
homeassistant  |                        ^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 153, in setup
homeassistant  |                 return distutils.core.setup(**attrs)
homeassistant  |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 148, in setup
homeassistant  |                 dist.run_commands()
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
homeassistant  |                 self.run_command(cmd)
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
homeassistant  |                 cmd_obj.run()
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 299, in run
homeassistant  |                 self.run_command('build')
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
homeassistant  |                 self.distribution.run_command(command)
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
homeassistant  |                 cmd_obj.run()
homeassistant  |               File "/tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/command/build.py", line 62, in run
homeassistant  |                 old_build.run(self)
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 135, in run
homeassistant  |                 self.run_command(cmd_name)
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
homeassistant  |                 self.distribution.run_command(command)
homeassistant  |               File "/tmp/pip-build-env-ouix5opo/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
homeassistant  |                 cmd_obj.run()
homeassistant  |               File "/tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/command/build_src.py", line 144, in run
homeassistant  |                 self.build_sources()
homeassistant  |               File "/tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/command/build_src.py", line 155, in build_sources
homeassistant  |                 self.build_library_sources(*libname_info)
homeassistant  |               File "/tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/command/build_src.py", line 288, in build_library_sources
homeassistant  |                 sources = self.generate_sources(sources, (lib_name, build_info))
homeassistant  |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/distutils/command/build_src.py", line 378, in generate_sources
homeassistant  |                 source = func(extension, build_dir)
homeassistant  |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |               File "/tmp/pip-install-jrw7mifz/numpy_ad2856e28d914359acaf7f62898c2b03/numpy/core/setup.py", line 758, in get_mathlib_info
homeassistant  |                 raise RuntimeError(
homeassistant  |             RuntimeError: Broken toolchain: cannot link a simple C program.
homeassistant  |             [end of output]
homeassistant  |
homeassistant  |         note: This error originates from a subprocess, and is likely not a problem with pip.
homeassistant  |         ERROR: Failed building wheel for numpy
homeassistant  |       Failed to build numpy
homeassistant  |       ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
homeassistant  |       [end of output]
homeassistant  |
homeassistant  |   note: This error originates from a subprocess, and is likely not a problem with pip.
homeassistant  | error: subprocess-exited-with-error
homeassistant  |
homeassistant  | × pip subprocess to install build dependencies did not run successfully.
homeassistant  | │ exit code: 1
homeassistant  | ╰─> See above for output.
homeassistant  |
homeassistant  | note: This error originates from a subprocess, and is likely not a problem with pip.

Relevant Configuration

No response

Checklist Source Error

Checklist Sensor Error

Required

5ila5 commented 9 months ago

looks like there is a problem with numpy on haos. I could not reproduce this issue on my docker install. I need to have a deeper look into this. We may need to remove the shapely dependency (introduced in 1.45.0) and modify the one new source using this dependency. (#1654 by @julienboriasse)

similar problem: https://github.com/Thomas55555/husqvarna_automower/issues/502

julienboriasse commented 9 months ago

Shapely is employed for associating addresses with sector identifiers. As a workaround, we can modify the code to prompt for the sector identifier instead of the home address in the configuration file. While this approach may be less user-friendly, it enables the removal of Shapely from the dependencies.

Note: I am unable to replicate the issue on my HAOS setup.

5ila5 commented 9 months ago

@CedricBojoly what kind of installation do you use.

@julienboriasse do you use a arm (like for raspberry pi) version or a x86 version?

rust84 commented 9 months ago

I am using this image and also getting the same error ghcr.io/onedr0p/home-assistant

CedricBojoly commented 9 months ago

@5ila5

Im using docker on a raspberry pi 4

image: lscr.io/linuxserver/homeassistant:arm64v8-latest

wase_collection_schedule config:

`sources:

julienboriasse commented 9 months ago

@julienboriasse do you use a arm (like for raspberry pi) version or a x86 version?

I use generic-x86-64 on an old desktop computer.

5ila5 commented 9 months ago

@rust84 linux/amd64 (64 bit x86) or linux/arm64

rust84 commented 9 months ago

@5ila5 Linux x86 running inside Kubernetes installed on Talos OS.

Ruko2010 commented 9 months ago

I have the same issue and run HA in a Docker on an Intel Nuc with unraid.

ReneNulschDE commented 9 months ago

I would propose to add "numpy==1.26.0" as a requirement to the manifest.json before shapely.

By default shapely is trying to use the oldest version of numpy as possible to install.

The current HA version is pinning "numpy==1.26.0" in all manifest.json's and also wheels are available/tested.

@CedricBojoly, @Ruko2010 : You can test this: Please try to add (just add no configuration is needed, just close the config dialog) the HA-standard component "Trend" via the integration page. This action should install numpy=1.26.0. And after that, the installation of this component should work too.

I'm not a python packing profi just try to give my 2 cents.

CedricBojoly commented 9 months ago

I would propose to add "numpy==1.26.0" as a requirement to the manifest.json before shapely.

By default shapely is trying to use the oldest version of numpy as possible to install.

The current HA version is pinning "numpy==1.26.0" in all manifest.json's and also wheels are available/tested.

@CedricBojoly, @Ruko2010 : You can test this: Please try to add (just add no configuration is needed, just close the config dialog) the HA-standard component "Trend" via the integration page. This action should install numpy=1.26.0. And after that, the installation of this component should work too.

I'm not a python packing profi just try to give my 2 cents.

@ReneNulschDE i added "Trend" but it installed nothing (no numpy install visible in the logs);

Then i updated Waste Collection Schedule to version 1.45.0 and still got the same error

ReneNulschDE commented 9 months ago

I checked the docker files based on your input. Looks like the images "onedr0p" and "lscr.io/linuxserver" have the same source but are not comparable with what the default ha-files provide.

The customized docker-files are using https://wheel-index.linuxserver.io/homeassistant-3.18/ and https://wheel-index.linuxserver.io/alpine-3.18/ as wheel source. In these stores numpy=2.6.0 und shapely=2.0.2 are not available.

In the HA.store ("https://wheels.home-assistant.io/musllinux/") are precompiled packages available.

I checked the following with the image ghcr.io/onedr0p/home-assistant:

  1. Install the image
  2. Try to add the component --> Same error
  3. Connect to the bash shell of the container and install shapely with "pip install --find-links="https://wheels.home-assistant.io/musllinux/" shapely==2.0.2" --> success
  4. Check montreal_ca --> success

But this will get lost with next image release... IMHO: The maintainer of these customized HA-Docker Images should check this.

Update: Other option is to map a pip.conf (see https://github.com/home-assistant/docker-base/blob/b9743b86993c554b6229f5866202717860d79d7a/alpine/rootfs/etc/pip.conf#L3) into the container to /etc/pip.conf - then the index-list setting is used and the install is working.

Ruko2010 commented 9 months ago

3. Connect to the bash shell of the container and install shapely with "pip install --find-links="https://wheels.home-assistant.io/musllinux/" shapely==2.0.2" --> success

I can confirm this. Installing shapely in the container will return waste collection to work. But I have the same concern, after updating the Container I think the Problem will be back. But it is at least a temporary fix.

5ila5 commented 9 months ago

as shaply clearly does cause problems for some users (no matter whos fault it is), I would like to remove the dependency @julienboriasse could you rewrite your source to implement the needed part of shaply yourself or rewrite the source to not requeire shaply anymore. I would then release a 1.45.1 with the removed dependency

ReneNulschDE commented 9 months ago

But I have the same concern, after updating the Container I think the Problem will be back

Take a look on my last update line...

Update: Other option is to map a pip.conf (see https://github.com/home-assistant/docker- base/blob/b9743b86993c554b6229f5866202717860d79d7a/alpine/rootfs/etc/pip.conf#L3) into the container to /etc/pip.conf - then the index-list setting is used and the install is working.

With this you will add pip.conf to your container and in this pip.conf the link to the HA-wheels index is set. And this gets not lost when you update the container. How to do this depends on your environment... but check google: Map file to container from host "docker run" ... without google "docker run ....... -v /somewhere/pip.conf:/etc/pip.conf"

julienboriasse commented 9 months ago

as shaply clearly does cause problems for some users (no matter whos fault it is), I would like to remove the dependency @julienboriasse could you rewrite your source to implement the needed part of shaply yourself or rewrite the source to not requeire shaply anymore. I would then release a 1.45.1 with the removed dependency

Sure, I'll provide a new version without shapely dependency.

rust84 commented 9 months ago

Thanks @ReneNulschDE for the analysis. For now I have built the image using the HA source ghcr.io/rust84/home-assistant:2024.1.5 and confirm it now installs successfully. I'll have to check with the author what the reason was for using linuxserver but if the dependency can be removed then so be it.

5ila5 commented 9 months ago

I just released 1.45.1 which doesn't require Shapely or NumPy.