home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
74.04k stars 31.07k forks source link

pip cannot install requirements_all.txt #90032

Closed janiversen closed 1 year ago

janiversen commented 1 year ago

The problem

On current dev, pip fails:

ERROR: Cannot install -r requirements_all.txt (line 1003), -r requirements_all.txt (line 1054), -r requirements_all.txt (line 1165), -r requirements_all.txt (line 592), -r requirements_all.txt (line 919) and -r requirements_all.txt (line 949) because these package versions have conflicting dependencies.

The conflict is caused by:
    devolo-home-control-api 0.18.2 depends on websocket-client>=0.58.0
    homematicip 1.0.13 depends on websocket-client>=1.0.0
    ibm-watson 5.2.2 depends on websocket-client==1.1.0
    jellyfin-apiclient-python 1.9.2 depends on websocket-client
    libsoundtouch 0.8.0 depends on websocket-client>=0.40.0
    mycroftapi 2.0 depends on websocket-client==0.44.0

We should really do something to not allow such conflicts. I presume some of this happened as part of a bump library PR.

Would it be possible to have a special CI action for "bump library PR" that tries to do

pip install -r requirements_all.txt
pip install -r requirements_test_all.txt

This is potentially a runtime problem as well.

What version of Home Assistant Core has the issue?

dev

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Core

Integration causing the issue

pip

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

frenck commented 1 year ago

Home Assistant relies on the legacy resolver, please add the --use-deprecated legacy-resolver flag to your pip commands.

For example:

pip install -r requirements_all.txt -c homeassistant/package_constraints.txt --use-deprecated legacy-resolver --upgrade

../Frenck