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
<https://github.com/weewx/weewx/wiki/pip-troubleshooting>*.

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


On Tue, Jan 16, 2024 at 4:28 AM Francesco Fasano <fvirgol...@gmail.com>
wrote:

>
> 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
>
>
>
> Il giorno martedì 16 gennaio 2024 alle 12:59:32 UTC+1 gjr80 ha scritto:
>
>> 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
>> <http://weewx.com/docs/5.0/upgrade/#upgrading-to-v50> of the Upgrade
>> Guide <http://weewx.com/docs/5.0/upgrade/>? This is mandatory reading
>> when (before) upgrading to version 5. The sub-section pip installs to a
>> new location
>> <http://weewx.com/docs/5.0/upgrade/#pip-installs-to-new-location>
>> actually provides a link to a wiki article titled Migrating setup.py
>> installs to Version 5.0 <https://github.com/weewx/weewx/wiki/v5-upgrade>,
>> did you work through those steps? If not perhaps you should try them, if
>> you did what happened?
>>
>> Gary
>>
>> On Tuesday 16 January 2024 at 20:07:40 UTC+10 fvirg...@gmail.com wrote:
>>
>>> 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
>>>
>> --
> 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+unsubscr...@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
> <https://groups.google.com/d/msgid/weewx-user/9c816b47-d908-47be-89b0-eafd87efe6bbn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/CAPq0zEBBr1C_oN-m-tL2vp613kOjrvZobzCb3xpkStG80M7J3Q%40mail.gmail.com.

Reply via email to