distutils was deprecated . . . maybe in python 3.12

I think setuptools has a distutils compatibility layer, so you could try 
installing that with pip.   

Good luck and maybe someone wiser will come along

On Monday, October 13, 2025 at 8:42:15 PM UTC-5 [email protected] wrote:

> Hi everyone,
>
> I'm running weewx v5.1.0 and recently installed the windy extension from 
> Matthew Wall's weewx-windy github 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/755a40b8-9198-497c-89f4-f3cf0197b9c9n%40googlegroups.com.

Reply via email to