#150·blackbird

Installation issue

Author: Tech-oopsCreated Sep 19, 2025Updated Dec 4, 2025
Labelsbug

~/blackbird $ pip install -r requirements.txt Collecting aiohappyeyeballs==2.6.1 (from -r requirements.txt (line 1)) Using cached aiohappyeyeballs-2.6.1-py3-none-any.whl.metadata (5.9 kB) Collecting aiohttp==3.12.13 (from -r requirements.txt (line 2)) Using cached aiohttp-3.12.13-cp312-cp312-linux_aarch64.whl Collecting aiosignal==1.3.2 (from -r requirements.txt (line 3)) Using cached aiosignal-1.3.2-py2.py3-none-any.whl.metadata (3.8 kB) Collecting attrs==25.3.0 (from -r requirements.txt (line 4)) Using cached attrs-25.3.0-py3-none-any.whl.metadata (10 kB) Collecting certifi==2025.6.15 (from -r requirements.txt (line 5)) Using cached certifi-2025.6.15-py3-none-any.whl.metadata (2.4 kB) Collecting chardet==5.2.0 (from -r requirements.txt (line 6)) Using cached chardet-5.2.0-py3-none-any.whl.metadata (3.4 kB) Collecting charset-normalizer==3.4.2 (from -r requirements.txt (line 7)) Using cached charset_normalizer-3.4.2-py3-none-any.whl.metadata (35 kB) Collecting frozenlist==1.7.0 (from -r requirements.txt (line 8)) Using cached frozenlist-1.7.0-py3-none-any.whl.metadata (18 kB) Collecting idna==3.10 (from -r requirements.txt (line 9)) Using cached idna-3.10-py3-none-any.whl.metadata (10 kB) Collecting markdown-it-py==3.0.0 (from -r requirements.txt (line 10)) Using cached markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB) Collecting mdurl==0.1.2 (from -r requirements.txt (line 11)) Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB) Collecting multidict==6.6.2 (from -r requirements.txt (line 12)) Using cached multidict-6.6.2-py3-none-any.whl.metadata (5.3 kB) Collecting pillow==11.3.0 (from -r requirements.txt (line 13)) Using cached pillow-11.3.0.tar.gz (47.1 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting propcache==0.3.2 (from -r requirements.txt (line 14)) Using cached propcache-0.3.2-py3-none-any.whl.metadata (12 kB) Collecting Pygments==2.19.2 (from -r requirements.txt (line 15)) Using cached pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB) Collecting python-dotenv==1.1.1 (from -r requirements.txt (line 16)) Using cached python_dotenv-1.1.1-py3-none-any.whl.metadata (24 kB) Collecting reportlab==4.4.2 (from -r requirements.txt (line 17)) Using cached reportlab-4.4.2-py3-none-any.whl.metadata (1.8 kB) Collecting requests==2.32.4 (from -r requirements.txt (line 18)) Using cached requests-2.32.4-py3-none-any.whl.metadata (4.9 kB) Collecting rich==14.0.0 (from -r requirements.txt (line 19)) Using cached rich-14.0.0-py3-none-any.whl.metadata (18 kB) Collecting urllib3==2.5.0 (from -r requirements.txt (line 20)) Using cached urllib3-2.5.0-py3-none-any.whl.metadata (6.5 kB) Collecting yarl==1.20.1 (from -r requirements.txt (line 21)) Using cached yarl-1.20.1-py3-none-any.whl.metadata (73 kB) Using cached aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB) Using cached multidict-6.6.2-py3-none-any.whl (12 kB) Using cached yarl-1.20.1-py3-none-any.whl (46 kB) Using cached aiosignal-1.3.2-py2.py3-none-any.whl (7.6 kB) Using cached attrs-25.3.0-py3-none-any.whl (63 kB) Using cached certifi-2025.6.15-py3-none-any.whl (157 kB) Using cached chardet-5.2.0-py3-none-any.whl (199 kB) Using cached charset_normalizer-3.4.2-py3-none-any.whl (52 kB) Using cached frozenlist-1.7.0-py3-none-any.whl (13 kB) Using cached idna-3.10-py3-none-any.whl (70 kB) Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB) Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB) Using cached propcache-0.3.2-py3-none-any.whl (12 kB) Using cached pygments-2.19.2-py3-none-any.whl (1.2 MB) Using cached python_dotenv-1.1.1-py3-none-any.whl (20 kB) Using cached reportlab-4.4.2-py3-none-any.whl (2.0 MB) Using cached requests-2.32.4-py3-none-any.whl (64 kB) Using cached urllib3-2.5.0-py3-none-any.whl (129 kB) Using cached rich-14.0.0-py3-none-any.whl (243 kB) 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 ╰─> [218 lines of output] running bdist_wheel running build running build_py creating build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/AvifImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/BdfFontFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/BlpImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/BmpImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ContainerIO.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/CurImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/DcxImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/DdsImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/EpsImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ExifTags.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/FitsImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/FliImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/FontFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/FpxImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/FtexImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/GbrImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/GdImageFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/GifImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/GimpGradientFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/GimpPaletteFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/IcoImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/Image.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageChops.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageCms.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageColor.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageDraw.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageDraw2.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageEnhance.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageFilter.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageFont.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageGrab.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageMath.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageMode.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageMorph.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageOps.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImagePalette.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImagePath.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageQt.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageSequence.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageShow.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageStat.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageTk.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageTransform.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImageWin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/ImtImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/IptcImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/JpegImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/JpegPresets.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/MicImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/MpegImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/MpoImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/MspImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PSDraw.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PaletteFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PalmImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PcdImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PcfFontFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PcxImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PdfImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PdfParser.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PixarImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PngImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PpmImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/PsdImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/QoiImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/SgiImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/SunImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/TarIO.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/TgaImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/TiffImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/TiffTags.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/WalImageFile.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/WebPImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/WmfImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/XbmImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/XpmImagePlugin.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/init.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/main.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_binary.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_deprecate.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_tkinter_finder.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_typing.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_util.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_version.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/features.py -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/report.py -> build/lib.linux-aarch64-cpython-312/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 '.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/_avif.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_imaging.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_imagingcms.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_imagingft.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_imagingmath.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_imagingmorph.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_imagingtk.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/_webp.pyi -> build/lib.linux-aarch64-cpython-312/PIL copying src/PIL/py.typed -> build/lib.linux-aarch64-cpython-312/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/basic-installation.html

  Traceback (most recent call last):
    File "<string>", line 1092, in <module>
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 115, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 186, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
      dist.run_commands()
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
      self.run_command(cmd)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 1102, in run_command
      super().run_command(command)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
      cmd_obj.run()
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/command/bdist_wheel.py", line 370, in run
      self.run_command("build")
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
      self.distribution.run_command(command)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 1102, in run_command
      super().run_command(command)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
      cmd_obj.run()
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
      self.distribution.run_command(command)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 1102, in run_command
      super().run_command(command)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
      cmd_obj.run()
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/command/build_ext.py", line 96, in run
      _build_ext.run(self)
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 368, in run
      self.build_extensions()
    File "<string>", line 887, in build_extensions
  RequiredDependencyException: jpeg

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/data/data/com.termux/files/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
      main()
    File "/data/data/com.termux/files/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
      json_out["return_val"] = hook(**hook_input["kwargs"])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
      return _build_backend().build_wheel(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/tmp/pip-install-nishg21b/pillow_c89a91178b3e48df8b89e681fef2385f/_custom_build/backend.py", line 26, in build_wheel
      return super().build_wheel(wheel_directory, config_settings, metadata_directory)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 435, in build_wheel
      return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/tmp/pip-build-env-z8xxpone/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 423, in _build
      return self._build_with_temp_dir(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^