Closed CedricBojoly closed 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
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.
@CedricBojoly what kind of installation do you use.
@julienboriasse do you use a arm (like for raspberry pi) version or a x86 version?
I am using this image and also getting the same error ghcr.io/onedr0p/home-assistant
@5ila5
Im using docker on a raspberry pi 4
image: lscr.io/linuxserver/homeassistant:arm64v8-latest
wase_collection_schedule config:
`sources:
@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.
@rust84 linux/amd64 (64 bit x86) or linux/arm64
@5ila5 Linux x86 running inside Kubernetes installed on Talos OS.
I have the same issue and run HA in a Docker on an Intel Nuc with unraid.
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.
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
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:
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.
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.
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
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"
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.
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.
I just released 1.45.1 which doesn't require Shapely or NumPy.
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
Relevant Configuration
No response
Checklist Source Error
Checklist Sensor Error
Required