NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.05k stars 14.09k forks source link

Home-Assistant OpenWeatherMap integration. No module named 'pyopenweathermap' #319248

Closed zoechi closed 4 months ago

zoechi commented 4 months ago

Describe the bug

The Home-Assistant update to 2024.6.0 requires a new Python package pyopenweathermap instead of pyowm which is not available yet in nixpkgs

See change in https://github.com/NixOS/nixpkgs/commit/d1aa5ac2d818e1ae8d9f7c026cf128648d1f1edc#diff-6fe2efc43b93548a020cd4ccd1eb70b05dcec7351befce856e81e03b3991e754L3181

This causes the OpenWeatherMap integration to fail when Home-Assistant is started. Perhaps I should have made a "Packaging requests" instead of a bug, but I figured it only out while writing up the issue.

Home-Assistant log output Logger: homeassistant.setup Source: setup.py:320 First occurred: 08:10:37 (1 occurrences) Last logged: 08:10:37 Setup failed for 'openweathermap': Unable to import component: No module named 'pyopenweathermap' Traceback (most recent call last): File "/nix/store/yczv9c3rxjgbya2rl329wfcxg4rhqj1i-homeassistant-2024.6.1/lib/python3.12/site-packages/homeassistant/setup.py", line 320, in _async_setup_component component = await integration.async_get_component() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/yczv9c3rxjgbya2rl329wfcxg4rhqj1i-homeassistant-2024.6.1/lib/python3.12/site-packages/homeassistant/loader.py", line 1012, in async_get_component self._component_future.result() File "/nix/store/yczv9c3rxjgbya2rl329wfcxg4rhqj1i-homeassistant-2024.6.1/lib/python3.12/site-packages/homeassistant/loader.py", line 992, in async_get_component comp = await self.hass.async_add_import_executor_job( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/c7ycrgwv039nqglbif98yggx211sdbcl-python3-3.12.3/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/yczv9c3rxjgbya2rl329wfcxg4rhqj1i-homeassistant-2024.6.1/lib/python3.12/site-packages/homeassistant/loader.py", line 1052, in _get_component ComponentProtocol, importlib.import_module(self.pkg_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/yczv9c3rxjgbya2rl329wfcxg4rhqj1i-homeassistant-2024.6.1/lib/python3.12/site-packages/homeassistant/util/loop.py", line 131, in protected_loop_func return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/c7ycrgwv039nqglbif98yggx211sdbcl-python3-3.12.3/lib/python3.12/importlib/__init__.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/nix/store/yczv9c3rxjgbya2rl329wfcxg4rhqj1i-homeassistant-2024.6.1/lib/python3.12/site-packages/homeassistant/components/openweathermap/__init__.py", line 8, in from pyopenweathermap import OWMClient ModuleNotFoundError: No module named 'pyopenweathermap'

Expected behavior

Should not fail

Screenshots

n/a

Additional context

n/a

Notify maintainers

@mweinelt

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.32, NixOS, 24.11 (Vicuña), 24.11.20240609.c7b821b`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - nixpkgs: `/nix/store/5jgh89kgmrb687c254wxdac4cj5hqjw8-source`

Add a :+1: reaction to issues you find important.

zoechi commented 4 months ago

@mweinelt thanks a lot :rocket: