Weewx version 5 installation

778 views
Skip to first unread message

Francesco Fasano

unread,
Jan 16, 2024, 5:07:40 AM1/16/24
to weewx-user
Good morning,
Congrats on the update to weewx 5,
if I may I would like to ask if anyone managed to update weewx version 5 from 4.10.2 having installed with the old setup.py method.
I tried to follow the steps in the guide but it didn't work.
Has anyone done this update? What are the precise steps to take?
Thank you

gjr80

unread,
Jan 16, 2024, 6:59:32 AM1/16/24
to weewx-user
You are not providing very much information. You say you "tried to follow the steps in the guide but it didn't work". What steps in what guide? What happened other than it did not work?

Did you read the Upgrading to V5.0 section of the Upgrade Guide? This is mandatory reading when (before) upgrading to version 5. The sub-section pip installs to a new location actually provides a link to a wiki article titled Migrating setup.py installs to Version 5.0, did you work through those steps? If not perhaps you should try them, if you did what happened?

Gary

Francesco Fasano

unread,
Jan 16, 2024, 7:28:00 AM1/16/24
to weewx-user

Hi Gary, and thanks for the reply. I read all the guides and followed all the instructions step by step but in the end after the command in the virtual environment python3 - m pip install weewx I have the following error

python3 -m pip install weewx
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: weewx in ./pi/weewx-venv/lib/python3.9/site-packages (5.0.0)
Requirement already satisfied: CT3<4.0,>=3.1 in ./pi/weewx-venv/lib/python3.9/site-packages (from weewx) (3.3.3)
Collecting Pillow>=5.2 (from weewx)
  Using cached pillow-10.2.0.tar.gz (46.2 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting PyMySQL<2.0,>=1.0 (from weewx)
  Using cached https://www.piwheels.org/simple/pymysql/PyMySQL-1.1.0-py3-none-any.whl (44 kB)
Requirement already satisfied: configobj<6.0,>=5.0 in ./pi/weewx-venv/lib/python3.9/site-packages (from weewx) (5.0.8)
Requirement already satisfied: ephem<5.0,>=4.1 in ./pi/weewx-venv/lib/python3.9/site-packages (from weewx) (4.1.5)
Requirement already satisfied: pyserial<4.0,>=3.4 in ./pi/weewx-venv/lib/python3.9/site-packages (from weewx) (3.5)
Requirement already satisfied: pyusb<2.0.0,>=1.0.2 in ./pi/weewx-venv/lib/python3.9/site-packages (from weewx) (1.2.1)
Requirement already satisfied: six in ./pi/weewx-venv/lib/python3.9/site-packages (from configobj<6.0,>=5.0->weewx) (1.16.0)
Building wheels for collected packages: Pillow
  Building wheel for Pillow (pyproject.toml) ... error
  error: subprocess-exited-with-error
 
  × Building wheel for Pillow (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [203 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-39
      creating build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/FitsImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/_typing.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/_util.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/_binary.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/_deprecate.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/_version.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/__init__.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/QoiImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/features.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/__main__.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/TarIO.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/FontFile.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/Image.py -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-cpython-39/PIL
      running egg_info
      writing src/pillow.egg-info/PKG-INFO
      writing dependency_links to src/pillow.egg-info/dependency_links.txt
      writing requirements to src/pillow.egg-info/requires.txt
      writing top-level names to src/pillow.egg-info/top_level.txt
      reading manifest file 'src/pillow.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.c'
      warning: no files found matching '*.h'
      warning: no files found matching '*.sh'
      warning: no files found matching '*.txt'
      warning: no files found matching '.flake8'
      warning: no previously-included files found matching '.appveyor.yml'
      warning: no previously-included files found matching '.clang-format'
      warning: no previously-included files found matching '.coveragerc'
      warning: no previously-included files found matching '.editorconfig'
      warning: no previously-included files found matching '.readthedocs.yml'
      warning: no previously-included files found matching 'codecov.yml'
      warning: no previously-included files found matching 'renovate.json'
      warning: no previously-included files matching '.git*' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      no previously-included directories found matching '.ci'
      no previously-included directories found matching 'wheels'
      adding license file 'LICENSE'
      writing manifest file 'src/pillow.egg-info/SOURCES.txt'
      copying src/PIL/_imagingcms.pyi -> build/lib.linux-x86_64-cpython-39/PIL
      copying src/PIL/_imagingft.pyi -> build/lib.linux-x86_64-cpython-39/PIL
      running build_ext
     
     
      The headers or library files could not be found for jpeg,
      a required dependency when compiling Pillow from source.
     
      Please see the install instructions at:
         https://pillow.readthedocs.io/en/latest/installation.html
     
      Traceback (most recent call last):
        File "<string>", line 989, in <module>
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-7ueq13bs/normal/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 368, in run
          self.run_command("build")
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 88, in run
          _build_ext.run(self)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
          self.build_extensions()
        File "<string>", line 812, in build_extensions
      __main__.RequiredDependencyException: jpeg
     
      During handling of the above exception, another exception occurred:
     
      Traceback (most recent call last):
        File "/home/pi/weewx-venv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/pi/weewx-venv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/pi/weewx-venv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-install-iyqazst5/pillow_9cd4082e6510460f8c52b96f70668fb7/_custom_build/backend.py", line 55, in build_wheel
          return super().build_wheel(wheel_directory, config_settings, metadata_directory)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 404, in build_wheel
          return self._build_with_temp_dir(
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 389, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-install-iyqazst5/pillow_9cd4082e6510460f8c52b96f70668fb7/_custom_build/backend.py", line 49, in run_setup
          return super().run_setup(setup_script)
        File "/tmp/pip-build-env-7ueq13bs/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 1005, in <module>
      __main__.RequiredDependencyException:
     
      The headers or library files could not be found for jpeg,
      a required dependency when compiling Pillow from source.
     
      Please see the install instructions at:
         https://pillow.readthedocs.io/en/latest/installation.html
     
     
      [end of output]
 
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for Pillow
Failed to build Pillow
ERROR: Could not build wheels for Pillow, which is required to install pyproject.toml-based projects

Tom Keffer

unread,
Jan 16, 2024, 7:55:25 AM1/16/24
to weewx...@googlegroups.com
The library "Pillow" is required by WeeWX. Normally, it is downloaded and installed automatically by pip, but it appears that pip cannot find a prebuilt Pillow library. This can be for a variety of reasons, but it's usually as simple as an outdated copy of pip. It can also be because you are running on an unusual operating system or hardware, but it appears that you are on a Raspberry Pi, which is very common. So, odds are the problem is just that your copy of pip is not up to date. For details, see the wiki article Troubleshooting pip installs.

As suggested in the article, try updating pip

# Activate your virtual environment:
source /home/pi/weewx-venv/bin/activate
# Update pip
python3 -m pip install pip --upgrade
# Now try installing Pillow:
python3 -m pip install Pillow

If that works, then proceed with installing weewx.

-tk


--
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 weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/9c816b47-d908-47be-89b0-eafd87efe6bbn%40googlegroups.com.

Francesco Fasano

unread,
Jan 16, 2024, 8:19:33 AM1/16/24
to weewx-user
Thanks Tom,
for the answer to tell the truth I'm carrying out tests on a virtual machine with Raspberry operating system with virtual box it could probably be as you say that there is some unusual hardware.
I have a Raspberry Model 3 B+ and I performed my first installation with setup.py. Over time I updated Python to 3.9 and always updated Weewx.
the weewx installation in my case is located in /home
so if I didn't misunderstand I should do the following steps
1 - sudo apt update
sudo apt install python3-pip -y
sudo apt install python3-venv -y
(do I have to do them from the home folder?)

2 - # Create the virtual environment
python3 -m venv ~/weewx-venv
# Activate the WeeWX virtual environment
source ~/weewx-venv/bin/activate
# Install WeeWX into the virtual environment

python3 -m pip install weewx

3 - weewxd --config=/home/weewx/weewx.conf

4 - # systems with systemd
# This will run weekx as you, not root. If you prefer to run as
# the root user, modify the weewx.service file.
sudo cp /home/weewx/util/systemd/weewx.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable weewx
sudo systemctl start weewx

5 - How do I start weewx version 5 when starting raspberry? with this? sudo sh ~/weewx-data/scripts/setup-daemon.sh


This is what I understood from the guide

Tom Keffer

unread,
Jan 16, 2024, 8:38:12 AM1/16/24
to weewx...@googlegroups.com
On Tue, Jan 16, 2024 at 5:19 AM Francesco Fasano <fvirg...@gmail.com> wrote:
Thanks Tom,
for the answer to tell the truth I'm carrying out tests on a virtual machine with Raspberry operating system with virtual box it could probably be as you say that there is some unusual hardware.
I have a Raspberry Model 3 B+ and I performed my first installation with setup.py. Over time I updated Python to 3.9 and always updated Weewx.
the weewx installation in my case is located in /home
so if I didn't misunderstand I should do the following steps
1 - sudo apt update
sudo apt install python3-pip -y
sudo apt install python3-venv -y
(do I have to do them from the home folder?)

No, these are system installs, so they can be done anywhere.

2 - # Create the virtual environment
python3 -m venv ~/weewx-venv
# Activate the WeeWX virtual environment
source ~/weewx-venv/bin/activate
# Install WeeWX into the virtual environment
python3 -m pip install weewx

3 - weewxd --config=/home/weewx/weewx.conf

4 - # systems with systemd
# This will run weekx as you, not root. If you prefer to run as
# the root user, modify the weewx.service file.
sudo cp /home/weewx/util/systemd/weewx.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable weewx
sudo systemctl start weewx

5 - How do I start weewx version 5 when starting raspberry? with this? sudo sh ~/weewx-data/scripts/setup-daemon.sh

I'm not sure what instructions you are following there, but the service file /etc/systemd/system/weewx.service will cause weewx to start when the system starts.

Francesco Fasano

unread,
Jan 16, 2024, 8:44:51 AM1/16/24
to weewx-user
Point 5 refers to running weewx as a daemon.
Apart from point 5, can you confirm that the points from number 1 to number 4 are fine?

Tom Keffer

unread,
Jan 16, 2024, 9:49:59 AM1/16/24
to weewx...@googlegroups.com
They look ok.

I don't wish to sound cranky, but we put a lot of time into making the install instructions bulletproof. Just follow the pip install instructions. If you have a failure, then come back and show us what happened.

--
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 weewx-user+...@googlegroups.com.

Francesco Fasano

unread,
Jan 16, 2024, 10:15:26 AM1/16/24
to weewx-user
Thank you, I don't doubt your excellent work but you know sometimes insecurity creates doubts.
I'll try to do it and update you.
A thousand thanks

vince

unread,
Jan 16, 2024, 12:49:59 PM1/16/24
to weewx-user
Francesco this error came up during beta testing if you search the group archives. My recollection is you might need to install the pip module ‘wheel’ in your step 2 after activating the virtual environment.

Francesco Fasano

unread,
Jan 17, 2024, 3:54:46 AM1/17/24
to weewx-user
Good morning,
I followed the steps in the guide and I get this error

python3 -m pip install weewx
Collecting weewx
  Downloading https://www.piwheels.org/simple/weewx/weewx-5.0.0-py3-none-any.whl (1.4 MB)
     |████████████████████████████████| 1.4 MB 531 kB/s
Collecting pyserial<4.0,>=3.4
  Downloading https://www.piwheels.org/simple/pyserial/pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 450 kB/s
Collecting ephem<5.0,>=4.1
  Downloading https://www.piwheels.org/simple/ephem/ephem-4.1.5-cp39-cp39-linux_armv7l.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 851 kB/s
Collecting pyusb<2.0.0,>=1.0.2
  Downloading https://www.piwheels.org/simple/pyusb/pyusb-1.2.1-py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 602 kB/s
Collecting configobj<6.0,>=5.0
  Downloading https://www.piwheels.org/simple/configobj/configobj-5.0.8-py2.py3-none-any.whl (35 kB)
Collecting Pillow>=5.2
  Downloading https://www.piwheels.org/simple/pillow/pillow-10.2.0-cp39-cp39-linux_armv7l.whl (1.2 MB)
     |████████████████████████████████| 1.2 MB 988 kB/s
Collecting CT3<4.0,>=3.1
  Downloading https://www.piwheels.org/simple/ct3/CT3-3.3.3-cp39-cp39-linux_armv7l.whl (196 kB)
     |████████████████████████████████| 196 kB 569 kB/s
Collecting PyMySQL<2.0,>=1.0
  Downloading https://www.piwheels.org/simple/pymysql/PyMySQL-1.1.0-py3-none-any.whl (44 kB)
     |████████████████████████████████| 44 kB 271 kB/s
Collecting six
  Downloading https://www.piwheels.org/simple/six/six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: six, pyusb, pyserial, PyMySQL, Pillow, ephem, CT3, configobj, weewx
Successfully installed CT3-3.3.3 Pillow-10.2.0 PyMySQL-1.1.0 configobj-5.0.8 ephem-4.1.5 pyserial-3.5 pyusb-1.2.1 six-1.16.0 weewx-5.0.0
(weewx-venv) pi@raspberrypi:/home $ weectl station upgrade --config=/home/weewx/weewx.conf
Using configuration file /home/weewx/weewx.conf

Upgrade examples, utility files in /home/weewx (Y/n)? Y
Removing example directory /home/weewx/examples
Copying examples into /home/weewx/examples

Traceback (most recent call last):
  File "/home/pi/weewx-venv/bin/weectl", line 8, in <module>
    sys.exit(main())
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weectl.py", line 66, in main
    namespace.func(namespace)
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weectllib/__init__.py", line 121, in dispatch
    namespace.action_func(config_dict, namespace)
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weectllib/station_cmd.py", line 339, in upgrade_station
    weectllib.station_actions.station_upgrade(config_dict=config_dict,
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weectllib/station_actions.py", line 800, in station_upgrade
    examples_dir = copy_examples(config_dict, examples_root=examples_root,
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weectllib/station_actions.py", line 616, in copy_examples
    shutil.copytree(examples_resources, examples_dir)
  File "/usr/lib/python3.9/shutil.py", line 557, in copytree
    return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
  File "/usr/lib/python3.9/shutil.py", line 458, in _copytree
    os.makedirs(dst, exist_ok=dirs_exist_ok)
  File "/usr/lib/python3.9/os.py", line 225, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/home/weewx/examples'

Francesco Fasano

unread,
Jan 17, 2024, 4:32:04 AM1/17/24
to weewx-user
also on this command

weewxd --config=/home/weewx/weewx.conf

Traceback (most recent call last):
  File "/home/pi/weewx-venv/bin/weewxd", line 8, in <module>
    sys.exit(main())
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weewxd.py", line 160, in main
    engine = weewx.engine.StdEngine(config_dict)
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weewx/engine.py", line 89, in __init__
    self.loadServices(config_dict)
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weewx/engine.py", line 157, in loadServices
    obj = weeutil.weeutil.get_object(svc)(self, config_dict)
  File "/home/pi/weewx-venv/lib/python3.9/site-packages/weeutil/weeutil.py", line 1404, in get_object
    module = importlib.import_module(module_name)
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/weewx/bin/user/mqtt.py", line 100, in <module>
    import paho.mqtt.client as mqtt
ModuleNotFoundError: No module named 'paho'

michael.k...@gmx.at

unread,
Jan 17, 2024, 7:03:05 AM1/17/24
to weewx-user
This is not a weewx issue, it is related to the extension, but  a user error: read the friendly manual for the extension: https://github.com/matthewwall/weewx-mqtt

Use pip to install paho-mqtt, as this is a prerequisite.

Francesco Fasano

unread,
Jan 17, 2024, 7:09:25 AM1/17/24
to weewx-user
 sudo pip3 install paho-mqttRequirement already satisfied: paho-mqtt in /usr/lib/python3/dist-packages (1.5.1)

Francesco Fasano

unread,
Jan 17, 2024, 7:11:07 AM1/17/24
to weewx-user
is already installed

michael.k...@gmx.at

unread,
Jan 17, 2024, 7:25:09 AM1/17/24
to weewx-user
Did you activate the venv before doing so?

Francesco Fasano

unread,
Jan 17, 2024, 7:28:37 AM1/17/24
to weewx-user
yes

vince

unread,
Jan 17, 2024, 12:16:14 PM1/17/24
to weewx-user
You have to install the paho-mqtt module into the venv after activating it. 

source /home/pi/weewx-venv/bin/activate
pip3 install paho-mqtt

Kruse Ludington

unread,
Jan 17, 2024, 9:39:45 PM1/17/24
to weewx-user
An issue that someone here can help with - upgrade problem that made me revert back - ? 

I have a custom version of weewx that I attempoted to upgrade from 4.10.2 to 5.0.0.

I simply used
sudo apt update
sudo apt upgrade

then answered "no" to all the questions about keeping using the new configuration files.

It works perfectly except I have one problem. I need all logging to be in weewx.log (instead of syslog) and in a different directory instead of var/log. In previous updates I had searched my entire system for every instance of weewx.conf and updated all of them wherever they have var/log and var/log/syslog to the other directory and the name weewx.log. None of those changes to every weewx.conf file made any difference - and my config file still said 4.10.2 (why)?

Since I could not figure out how to keep my logging in the same weewx.log in a different directory that var/log, I just did a full restopre to my system so I now have the old systrem Working perfectly but not upgraded.

I want to get to 1.5 - but need the logging in weewx.log onlyand that file should be in a diffrerent directory - and to keep my same configuration but show and be actually 5.0.0 in stationregistry. How do I do that properly?

vince

unread,
Jan 17, 2024, 9:47:43 PM1/17/24
to weewx-user
Under weewx-data/rsyslog there is a weewx.conf for rsyslog so just edit that as desired for where you want it to go before putting it into place and restarting rsyslog.

vince

unread,
Jan 17, 2024, 9:52:44 PM1/17/24
to weewx-user
oops - weewx-data/util/rsyslog of course there.

Kruse Ludington

unread,
Jan 29, 2024, 10:04:15 PM1/29/24
to weewx-user
Thank you - I must have overloooked one!
Reply all
Reply to author
Forward
0 new messages