It’s kind of crazy that forecast still depends on six. I just published v4.1 with six removed. It also details how to install xtide since xtide has been removed from current Linux distros. Thank you. That did solve my problem. On Saturday, February 28, 2026 at 9:42:11 PM UTC-6 John Smith wrote:
Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** import six.moves.http_client Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** ModuleNotFoundError: No module named 'six'
You need to install the six library
I'm trying to install the forecast extension with weewx 5.2. When I restart weewx I'm getting this error immediately. Any suggestions?
Feb 28 19:31:02 wxpi sudo[8562]: pam_unix(sudo:session): session closed for user root Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Initializing weewxd version 5.2.0 Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Command line: /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Using Python: 3.13.5 (main, Jun 25 2025, 18:55:22) [GCC 14.2.0] Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Located at: /usr/bin/python3 Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Platform: Linux-6.12.47+rpt-rpi-v8-aarch64-with-glibc2.41 Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Locale: 'en_GB.UTF-8' Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Entry path: /usr/share/weewx/weewxd.py Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: WEEWX_ROOT: /etc/weewx Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Config file: /etc/weewx/weewx.conf Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: User module: /etc/weewx/bin/user Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Debug: 0 Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: User: weewx Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Group: weewx Feb 28 19:31:02 wxpi weewxd[8567]: INFO __main__: Groups: weewx Feb 28 19:31:02 wxpi weewxd[8567]: INFO weewx.engine: Loading station type DavisConsoleAPI (user.davisconsoleapi) Feb 28 19:31:03 wxpi weewxd[8567]: INFO user.davisconsoleapi: DavisConsoleAPI driver version is 0.43 Feb 28 19:31:03 wxpi weewxd[8567]: INFO user.davisconsoleapi: polling interval is 300 Feb 28 19:31:03 wxpi weewxd[8567]: INFO weewx.engine: StdConvert target unit is 0x1 Feb 28 19:31:03 wxpi weewxd[8567]: INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding Feb 28 19:31:03 wxpi weewxd[8567]: INFO weewx.engine: Archive will use data binding wx_binding Feb 28 19:31:03 wxpi weewxd[8567]: INFO weewx.engine: Record generation will be attempted in 'hardware' Feb 28 19:31:03 wxpi weewxd[8567]: INFO weewx.engine: Using archive interval of 300 seconds (specified in weewx configuration) Feb 28 19:31:03 wxpi weewxd[8567]: /etc/weewx/bin/user/forecast.py:3423: SyntaxWarning: invalid escape sequence '\d' Feb 28 19:31:03 wxpi weewxd[8567]: _LATLON = re.compile('[\d\+\-]+,[\d\+\-]+') Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: Caught unrecoverable exception: Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** No module named 'six' Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** Traceback (most recent call last): Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "/usr/share/weewx/weewxd.py", line 121, in main Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** engine = weewx.engine.StdEngine(config_dict) Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "/usr/share/weewx/weewx/engine.py", line 89, in __init__ Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** self.loadServices(config_dict) Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** obj = weeutil.weeutil.get_object(svc)(self, config_dict) Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** module = importlib.import_module(module_name) Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** return _bootstrap._gcd_import(name[level:], package, level) Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 1387, in _gcd_import Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 1360, in _find_and_load Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 935, in _load_unlocked Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "<frozen importlib._bootstrap_external>", line 1026, in exec_module Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** File "/etc/weewx/bin/user/forecast.py", line 531, in <module> Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** import six.moves.http_client Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** ModuleNotFoundError: No module named 'six' Feb 28 19:31:03 wxpi weewxd[8567]: CRITICAL __main__: **** Exiting. Feb 28 19:31:03 wxpi weewxd[8567]: Traceback (most recent call last): Feb 28 19:31:03 wxpi weewxd[8567]: File "/usr/share/weewx/weewxd.py", line 226, in <module> Feb 28 19:31:03 wxpi weewxd[8567]: main() Feb 28 19:31:03 wxpi weewxd[8567]: ~~~~^^ Feb 28 19:31:03 wxpi weewxd[8567]: File "/usr/share/weewx/weewxd.py", line 121, in main Feb 28 19:31:03 wxpi weewxd[8567]: engine = weewx.engine.StdEngine(config_dict) Feb 28 19:31:03 wxpi weewxd[8567]: File "/usr/share/weewx/weewx/engine.py", line 89, in __init__ Feb 28 19:31:03 wxpi weewxd[8567]: self.loadServices(config_dict) Feb 28 19:31:03 wxpi weewxd[8567]: ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ Feb 28 19:31:03 wxpi weewxd[8567]: File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices Feb 28 19:31:03 wxpi weewxd[8567]: obj = weeutil.weeutil.get_object(svc)(self, config_dict) Feb 28 19:31:03 wxpi weewxd[8567]: ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ Feb 28 19:31:03 wxpi weewxd[8567]: File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object Feb 28 19:31:03 wxpi weewxd[8567]: module = importlib.import_module(module_name) Feb 28 19:31:03 wxpi weewxd[8567]: File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module Feb 28 19:31:03 wxpi weewxd[8567]: return _bootstrap._gcd_import(name[level:], package, level) Feb 28 19:31:03 wxpi weewxd[8567]: ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Feb 28 19:31:03 wxpi weewxd[8567]: File "<frozen importlib._bootstrap>", line 1387, in _gcd_import Feb 28 19:31:03 wxpi weewxd[8567]: File "<frozen importlib._bootstrap>", line 1360, in _find_and_load Feb 28 19:31:03 wxpi weewxd[8567]: File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked Feb 28 19:31:03 wxpi weewxd[8567]: File "<frozen importlib._bootstrap>", line 935, in _load_unlocked Feb 28 19:31:03 wxpi weewxd[8567]: File "<frozen importlib._bootstrap_external>", line 1026, in exec_module Feb 28 19:31:03 wxpi weewxd[8567]: File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed Feb 28 19:31:03 wxpi weewxd[8567]: File "/etc/weewx/bin/user/forecast.py", line 531, in <module> Feb 28 19:31:03 wxpi weewxd[8567]: import six.moves.http_client Feb 28 19:31:03 wxpi weewxd[8567]: ModuleNotFoundError: No module named 'six' Feb 28 19:31:03 wxpi systemd[1]: weewx.service: Main process exited, code=exited, status=1/FAILURE Feb 28 19:31:03 wxpi systemd[1]: weewx.service: Failed with result 'exit-code'. Feb 28 19:31:03 wxpi systemd[1]: weewx.service: Consumed 1.701s CPU time.
Thank you.
--
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/9b509df9-b7c1-43f8-91de-480909fe36a5n%40googlegroups.com.
--
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/8FC64B70-C865-4A57-98BD-E537CAE82197%40johnkline.com.
|