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/f90b5d1e-8141-43b3-aa96-27b79e8f2139n%40googlegroups.com.
