'Failed building wheel for Pillow Command on cPanel

The first issue I had was I needed to upgrade pip to the latest version. Once I did that I was able to run pip install pillow however I get the following error. I am running python version 3.9.7. Neither PIL or Pillow is already installed in my virtual environment. Any ideas on how I can install Pillow successfully? I have included the output of my error from the terminal below.

ERROR: Failed building wheel for Pillow
ERROR: Command errored out with exit status 1: path/to/home/virtualenv/3.9/bin/python3.9_bin -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-szngxqb2/pillow_1c9c86b13f0a474c981fd86d31c2e1e6/setup.py'"'"'; __file__='"'"'/tmp/pip-install-szngxqb2/pillow_1c9c86b13f0a474c981fd86d31c2e1e6/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-daj3upyx/install-record.txt --single-version-externally-managed --compile --install-headers path/to/home/virtualenv/3.9/include/site/python3.9/Pillow Check the logs for full command output.
         cwd: /tmp/pip-install-pzbaeq08/pillow_5d60eb6fee184d598bd908aee2af6fc6/
    Complete output (138 lines):
    /opt/alt/python39/lib64/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
      warnings.warn(msg)
    /opt/alt/python39/lib64/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'project_urls'
      warnings.warn(msg)
    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/BlpImagePlugin.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/SpiderImagePlugin.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/GimpPaletteFile.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/DdsImagePlugin.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/ImageShow.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/ImageEnhance.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/BmpImagePlugin.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/ImagePalette.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/_tkinter_finder.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/features.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/BufrStubImagePlugin.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/IcoImagePlugin.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/TgaImagePlugin.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/FitsStubImagePlugin.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/GbrImagePlugin.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/BdfFontFile.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/CurImagePlugin.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/ImageMode.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/SunImagePlugin.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/SgiImagePlugin.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/MpoImagePlugin.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/ImageTransform.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/ImageTk.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/ImageSequence.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/EpsImagePlugin.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/JpegImagePlugin.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/ContainerIO.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/PdfImagePlugin.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/PalmImagePlugin.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/ImageCms.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/ImageMath.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/ImageChops.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/FtexImagePlugin.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/PcfFontFile.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/JpegPresets.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/ImageMorph.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/ImagePath.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/FliImagePlugin.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/PngImagePlugin.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/ImageColor.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/WmfImagePlugin.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/GifImagePlugin.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/ImageOps.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/TiffTags.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/IcnsImagePlugin.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/PaletteFile.py -> build/lib.linux-x86_64-3.9/PIL
    copying src/PIL/McIdasImagePlugin.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 '.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 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'
    writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
    running build_ext
    building 'PIL._imaging' extension
    creating build/temp.linux-x86_64-3.9
    creating build/temp.linux-x86_64-3.9/src
    creating build/temp.linux-x86_64-3.9/src/libImaging
/opt/rh/devtoolset-7/root/usr/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -D_GNU_SOURCE -fPIC -fwrapv -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fPIC -I/usr/include/freetype2 -I/path/to/home/Pillow -I/home/path/to/home/3.9/include -I/usr/include -I/opt/alt/python39/include/python3.9 -c src/_imagingft.c -o build/temp.linux-x86_64-3.9/src/_imagingft.o
/opt/rh/devtoolset-7/root/usr/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -D_GNU_SOURCE -fPIC -fwrapv -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fPIC -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -DHAVE_XCB -DPILLOW_VERSION="9.0.0.dev0" -I/usr/include/freetype2 -I/path/to/home/Pillow -I/path/to/home/3.9/include -I/usr/include -I/opt/alt/python39/include/python3.9 -c src/_imaging.c -o build/temp.linux-x86_64-3.9/src/_imaging.o
building 'PIL._imagingtk' extension
creating build/temp.linux-x86_64-3.9/src/Tk
/opt/rh/devtoolset-7/root/usr/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -D_GNU_SOURCE -fPIC -fwrapv -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fPIC -I/usr/include/freetype2 -I/path/to/home/Pillow -I/path/to/home/3.9/include -I/usr/include -I/opt/alt/python39/include/python3.9 -c src/Tk/tkImaging.c -o build/temp.linux-x86_64-3.9/src/Tk/tkImaging.o
building 'PIL._imagingmath' extension
/opt/rh/devtoolset-7/root/usr/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -D_GNU_SOURCE -fPIC -fwrapv -D_GNU_SOURCE -fPIC -fwrapv -O2 -fno-semantic-interposition -pthread -Wno-unused-result -Wsign-compare -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fPIC -I/usr/include/freetype2 -I/home/path/to/home/Pillow -I/home/virtualenv/path/to/home/3.9/include -I/usr/include -I/opt/alt/python39/include/python3.9 -c src/_imagingmath.c -o build/temp.linux-x86_64-3.9/src/_imagingmath.o
building 'PIL._imagingmorph' extension

Fixed: After 2 hours with NameCheap Support (my hosting provider), they suggested I downgrade to python version 3.8.6 and run pip install pillow==7.2.0 and it worked.



Solution 1:[1]

update pip version and try. It will fix the error

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Ravi_Djpy