Hi everyone,

I'm running weewx v5.1.0 and recently installed the windy extension from 
https://github.com/matthewwall/weewx-windy but I'm getting a 
ModuleNotFoundError: No module named 'distutils' error message when weewx 
attempts to start. I've logged an issue in the github for this project but 
it appears that the extension might be stale since there hasn't been an 
update for 5 years. Would anyone know of a workaround I could use to get 
this extension working or is there an alternative extension I could use for 
windy.com?

Thanks,

John

---
syslog:

2025-10-13T22:45:28.785720+00:00 weewx weewxd[2702]: INFO user.interceptor: 
shutting down server thread
2025-10-13T22:45:29.218019+00:00 weewx weewxd[2702]: CRITICAL __main__: 
Caught unrecoverable exception:
2025-10-13T22:45:29.218246+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****  No module named 'distutils'
2025-10-13T22:45:29.221213+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****  Traceback (most recent call last):
2025-10-13T22:45:29.221525+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "/usr/share/weewx/weewxd.py", line 121, in main
2025-10-13T22:45:29.221742+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****      engine = weewx.engine.StdEngine(config_dict)
2025-10-13T22:45:29.223622+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.223741+00:00 weewx weewxd[2702]: Traceback (most recent 
call last):
2025-10-13T22:45:29.224034+00:00 weewx weewxd[2702]:   File 
"/usr/share/weewx/weewxd.py", line 226, in <module>
2025-10-13T22:45:29.224090+00:00 weewx weewxd[2702]:     main()
2025-10-13T22:45:29.224130+00:00 weewx weewxd[2702]:   File 
"/usr/share/weewx/weewxd.py", line 121, in main
2025-10-13T22:45:29.224178+00:00 weewx weewxd[2702]:     engine = 
weewx.engine.StdEngine(config_dict)
2025-10-13T22:45:29.224222+00:00 weewx weewxd[2702]:             
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.224262+00:00 weewx weewxd[2702]:   File 
"/usr/share/weewx/weewx/engine.py", line 89, in __init__
2025-10-13T22:45:29.224300+00:00 weewx weewxd[2702]:     
self.loadServices(config_dict)
2025-10-13T22:45:29.224337+00:00 weewx weewxd[2702]:   File 
"/usr/share/weewx/weewx/engine.py", line 157, in loadServices
2025-10-13T22:45:29.224378+00:00 weewx weewxd[2702]:     obj = 
weeutil.weeutil.get_object(svc)(self, config_dict)
2025-10-13T22:45:29.224423+00:00 weewx weewxd[2702]:           
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.224463+00:00 weewx weewxd[2702]:   File 
"/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object
2025-10-13T22:45:29.224541+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "/usr/share/weewx/weewx/engine.py", line 89, in __init__
2025-10-13T22:45:29.224618+00:00 weewx weewxd[2702]:     module = 
importlib.import_module(module_name)
2025-10-13T22:45:29.224954+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****      self.loadServices(config_dict)
2025-10-13T22:45:29.225097+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices
2025-10-13T22:45:29.225188+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****      obj = weeutil.weeutil.get_object(svc)(self, config_dict)
2025-10-13T22:45:29.227728+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.227815+00:00 weewx weewxd[2702]:             
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.227918+00:00 weewx weewxd[2702]:   File 
"/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
2025-10-13T22:45:29.227976+00:00 weewx weewxd[2702]:     return 
_bootstrap._gcd_import(name[level:], package, level)
2025-10-13T22:45:29.228028+00:00 weewx weewxd[2702]:           
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.228070+00:00 weewx weewxd[2702]:   File "<frozen 
importlib._bootstrap>", line 1387, in _gcd_import
2025-10-13T22:45:29.228115+00:00 weewx weewxd[2702]:   File "<frozen 
importlib._bootstrap>", line 1360, in _find_and_load
2025-10-13T22:45:29.228156+00:00 weewx weewxd[2702]:   File "<frozen 
importlib._bootstrap>", line 1331, in _find_and_load_unlocked
2025-10-13T22:45:29.228194+00:00 weewx weewxd[2702]:   File "<frozen 
importlib._bootstrap>", line 935, in _load_unlocked
2025-10-13T22:45:29.228236+00:00 weewx weewxd[2702]:   File "<frozen 
importlib._bootstrap_external>", line 995, in exec_module
2025-10-13T22:45:29.228280+00:00 weewx weewxd[2702]:   File "<frozen 
importlib._bootstrap>", line 488, in _call_with_frames_removed
2025-10-13T22:45:29.228328+00:00 weewx weewxd[2702]:   File 
"/etc/weewx/bin/user/windy.py", line 46, in <module>
2025-10-13T22:45:29.228371+00:00 weewx weewxd[2702]:     from 
distutils.version import StrictVersion
2025-10-13T22:45:29.228409+00:00 weewx weewxd[2702]: ModuleNotFoundError: 
No module named 'distutils'
2025-10-13T22:45:29.228466+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object
2025-10-13T22:45:29.228517+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****      module = importlib.import_module(module_name)
2025-10-13T22:45:29.228584+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.228629+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "/usr/lib/python3.12/importlib/__init__.py", line 90, in 
import_module
2025-10-13T22:45:29.228683+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****      return _bootstrap._gcd_import(name[level:], package, level)
2025-10-13T22:45:29.228738+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-10-13T22:45:29.228789+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
2025-10-13T22:45:29.228834+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
2025-10-13T22:45:29.228878+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "<frozen importlib._bootstrap>", line 1331, in 
_find_and_load_unlocked
2025-10-13T22:45:29.228922+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
2025-10-13T22:45:29.228964+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "<frozen importlib._bootstrap_external>", line 995, in 
exec_module
2025-10-13T22:45:29.229007+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "<frozen importlib._bootstrap>", line 488, in 
_call_with_frames_removed
2025-10-13T22:45:29.229045+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****    File "/etc/weewx/bin/user/windy.py", line 46, in <module>
2025-10-13T22:45:29.229087+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****      from distutils.version import StrictVersion
2025-10-13T22:45:29.229150+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****  ModuleNotFoundError: No module named 'distutils'
2025-10-13T22:45:29.229195+00:00 weewx weewxd[2702]: CRITICAL __main__:     
****  Exiting.
2025-10-13T22:45:29.263650+00:00 weewx systemd[1]: weewx.service: Main 
process exited, code=exited, status=1/FAILURE
2025-10-13T22:45:29.264708+00:00 weewx systemd[1]: weewx.service: Failed 
with result 'exit-code'.

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/47c9b452-dc92-4239-bd58-0fc84c8d55b9n%40googlegroups.com.

Reply via email to