OpenFlexure-client installation error

I was trying to install openflexure-microscope-client and I get an error:

[root@phantom pawel]# pip install openflexure-microscope-client
Collecting openflexure-microscope-client
  Using cached openflexure_microscope_client-0.1.6-py3-none-any.whl (7.7 kB)
Requirement already satisfied: zeroconf<0.26,>=0.25 in /usr/local/lib/python3.9/site-packages (from openflexure-microscope-client) (0.25.1)
Requirement already satisfied: requests<3.0,>=2.22 in /usr/lib/python3.9/site-packages (from openflexure-microscope-client) (2.25.1)
Collecting Pillow<8.0,>=7.0
  Using cached Pillow-7.2.0.tar.gz (39.1 MB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy<2.0,>=1.17 in /usr/local/lib64/python3.9/site-packages (from openflexure-microscope-client) (1.23.1)
Requirement already satisfied: chardet<5,>=3.0.2 in /usr/lib/python3.9/site-packages (from requests<3.0,>=2.22->openflexure-microscope-client) (4.0.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3.9/site-packages (from requests<3.0,>=2.22->openflexure-microscope-client) (1.26.5)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3.9/site-packages (from requests<3.0,>=2.22->openflexure-microscope-client) (2.10)
Requirement already satisfied: ifaddr in /usr/local/lib/python3.9/site-packages (from zeroconf<0.26,>=0.25->openflexure-microscope-client) (0.2.0)
Using legacy 'setup.py install' for Pillow, since package 'wheel' is not installed.
Installing collected packages: Pillow, openflexure-microscope-client
  Running setup.py install for Pillow ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for Pillow did not run successfully.
  │ exit code: 1
  ╰─> [174 lines of output]
      running install
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.9
      creating build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/FontFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/Image.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/TarIO.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/__init__.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/__main__.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/_binary.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/_util.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/_version.py -> build/lib.linux-x86_64-3.9/PIL
      copying src/PIL/features.py -> build/lib.linux-x86_64-3.9/PIL
      running egg_info
      writing src/Pillow.egg-info/PKG-INFO
      writing dependency_links to src/Pillow.egg-info/dependency_links.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 previously-included files found matching '.appveyor.yml'
      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 matching '.git*' found anywhere in distribution
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      no previously-included directories found matching '.ci'
      adding license file 'LICENSE'
      writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
      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 "/tmp/pip-install-g22vpm9w/pillow_2a2cb477530c45cbb2b256bc8fe57829/setup.py", line 864, in <module>
          setup(
        File "/usr/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
          return distutils.core.setup(**attrs)
        File "/usr/lib64/python3.9/distutils/core.py", line 148, in setup
          dist.run_commands()
        File "/usr/lib64/python3.9/distutils/dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "/usr/lib64/python3.9/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/lib/python3.9/site-packages/setuptools/command/install.py", line 61, in run
          return orig.install.run(self)
        File "/usr/lib64/python3.9/distutils/command/install.py", line 551, in run
          self.run_command('build')
        File "/usr/lib64/python3.9/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/lib64/python3.9/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/lib64/python3.9/distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/usr/lib64/python3.9/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/lib64/python3.9/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/lib64/python3.9/distutils/command/build_ext.py", line 340, in run
          self.build_extensions()
        File "/tmp/pip-install-g22vpm9w/pillow_2a2cb477530c45cbb2b256bc8fe57829/setup.py", line 694, in build_extensions
          raise RequiredDependencyException(f)
      __main__.RequiredDependencyException: jpeg
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-g22vpm9w/pillow_2a2cb477530c45cbb2b256bc8fe57829/setup.py", line 918, in <module>
          raise RequiredDependencyException(msg)
      __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: legacy-install-failure

× Encountered error while trying to install package.
╰─> Pillow

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
[root@phantom pawel]#

How to fix this?

The problem was with missing library in the latest version of operating system.

1 Like