WeeWX 5.1 and Belchertown 1.3.1 issue

137 views
Skip to first unread message

John Anderson

unread,
Sep 26, 2025, 3:44:32 PM9/26/25
to weewx-user
I just installed WeeWX 5.1 on Ubuntu server via Debian install and Belchertown skin 1.3.1 with the weectl extension install command. These are the errors on weewx log: 

Sep 26 09:50:17 anderson-webserver weewxd[6505]: ModuleNotFoundError: No module named 'user.belchertown'
Sep 26 09:50:17 anderson-webserver weewxd[6505]: INFO weewx.reportengine: Copied 3 files to /var/www/html/weewx/belchertown
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine: Unable to instantiate generator 'user.belchertown.HighchartsJsonGenerator'
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****  No module named 'user.belchertown'
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****  Traceback (most recent call last):
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 231, in run
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****      obj = weeutil.weeutil.get_object(generator)(
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****    File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****      module = importlib.import_module(module_name)
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****    File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****      return _bootstrap._gcd_import(name[level:], package, level)
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****    File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****    File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****    File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****  ModuleNotFoundError: No module named 'user.belchertown'
Sep 26 09:50:17 anderson-webserver weewxd[6505]: ERROR weewx.reportengine:         ****  Generator ignored

Any ideas on how to resolve?

vince

unread,
Sep 26, 2025, 4:32:49 PM9/26/25
to weewx-user
You can just use this thread, not the second similar thread you opened that had no debug info.

Start with 'weectl extension list' and verify it's indeed there.  Sounds like you perhaps (perhaps) have more than one installation there and you're not running the one you think you're running.  Try "journalctl -xe | grep weewx | more" perhaps to see weewx log entries.

You should see something like the following in the logs:

Sep 26 11:56:53 pi5 systemd[1]: Started we...@ecowitt.service - WeeWX ecowitt.
░░ Subject: A start job for unit we...@ecowitt.service has finished successfully
░░ A start job for unit we...@ecowitt.service has finished successfully.
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Initializing weewxd-ecowitt version 5.1.0
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Command line: /home/pi/weewx-venv/lib/python3.11/site-packages/weewxd.py --log-label weewxd-ecowitt /home/pi/weewx-data/ecowitt.con
f
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Using Python: 3.11.2 (main, Apr 28 2025, 14:11:48) [GCC 12.2.0]
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Located at:   /home/pi/weewx-venv/bin/python3.11
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Platform:     Linux-6.12.25+rpt-rpi-2712-aarch64-with-glibc2.36
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Locale:       'en_US.UTF-8'
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Entry path:   /home/pi/weewx-venv/lib/python3.11/site-packages/weewxd.py
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: WEEWX_ROOT:   /home/pi/weewx-data
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Config file:  /home/pi/weewx-data/ecowitt.conf
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: User module:  /home/pi/weewx-data/bin/user
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Debug:        0
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: User:         pi
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Group:        pi
Sep 26 11:56:53 pi5 weewxd-ecowitt[2250251]: INFO __main__: Groups:       adm dialout cdrom sudo audio video plugdev games users input render netdev docker gpio i2c spi pi


So for my case above, I'm running a venv/pip installation as user pi and the User modules are in /home/pi/weewx-data/bin/user.  If you're running a debian installation your answer will differ, but it'll tell you where the belchertown.py file should be located if you installed it completely/correctly.  Yours probably points to /etc/weewx/bin/user

John Anderson

unread,
Sep 27, 2025, 11:45:36 AM9/27/25
to weewx-user
Vince, thanks for the insight.

I was able to resolve by creating a symbolic link so Python could find the user modules in /etc/weewx/bin/user. I used this command to create the symbolic link: sudo ln -sf /etc/weewx/bin/user /usr/share/weewx/user
Reply all
Reply to author
Forward
0 new messages