Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install Pillow on termux? [closed]

I am using Termux for quite a while now and would like to install "Pillow" library on it. Whenever I try to install Pillow using "pip" it shows me the below errors.
At first I thought I need to upgrade pip, but it did not help. I have also cleared caches, to no avail.

Error

$ python3 -m pip install Pillow==7.2.0          Collecting Pillow==7.2.0                          Using cached Pillow-7.2.0.tar.gz (39.1 MB)    Using legacy setup.py install for Pillow, since package 'wheel' is not installed.               Installing collected packages: Pillow               Running setup.py install for Pillow ... error                                                   ERROR: Command errored out with exit status 1:                                                   command: /data/data/com.termux/files/usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/setup.py'"'"'; __file__='"'"'/data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /data/data/com.termux/files/usr/tmp/pip-record-rstq_guv/install-record.txt --single-version-externally-managed --compile --install-headers /data/data/com.termux/files/usr/include/python3.8/Pillow                   cwd: /data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/                      Complete output (172 lines):                    running install                                 running build
    running build_py
    creating build
    creating build/lib.linux-aarch64-3.8
    creating build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/BdfFontFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/BlpImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/BmpImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ContainerIO.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/CurImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/DcxImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/DdsImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/EpsImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ExifTags.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/FliImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/FontFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/FpxImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/FtexImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/GbrImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/GdImageFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/GifImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/GimpGradientFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/GimpPaletteFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/IcoImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/Image.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageChops.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageCms.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageColor.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageDraw.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageDraw2.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageEnhance.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageFilter.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageFont.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageGrab.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageMath.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageMode.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageMorph.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageOps.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImagePalette.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImagePath.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageQt.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageSequence.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageShow.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageStat.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageTk.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageTransform.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImageWin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/ImtImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/IptcImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/JpegImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/JpegPresets.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/MicImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/MpegImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/MpoImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/MspImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PSDraw.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PaletteFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PalmImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PcdImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PcfFontFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PcxImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PdfImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PdfParser.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PixarImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PngImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PpmImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PsdImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/PyAccess.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/SgiImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/SunImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/TarIO.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/TgaImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/TiffImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/TiffTags.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/WalImageFile.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/WebPImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/WmfImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/XbmImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/XpmImagePlugin.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/__init__.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/__main__.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/_binary.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/_tkinter_finder.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/_util.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/_version.py -> build/lib.linux-aarch64-3.8/PIL
    copying src/PIL/features.py -> build/lib.linux-aarch64-3.8/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'
    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 "/data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/setup.py", line 864, in <module>
        setup(
      File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/command/install.py", line 545, in run
        self.run_command('build')
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/data/data/com.termux/files/usr/lib/python3.8/distutils/command/build_ext.py", line 340, in run
        self.build_extensions()
      File "/data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/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 1, in <module>
      File "/data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/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


    ----------------------------------------
ERROR: Command errored out with exit status 1: /data/data/com.termux/files/usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/setup.py'"'"'; __file__='"'"'/data/data/com.termux/files/usr/tmp/pip-install-48geu0sg/Pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /data/data/com.termux/files/usr/tmp/pip-record-rstq_guv/install-record.txt --single-version-externally-managed --compile --install-headers /data/data/com.termux/files/usr/include/python3.8/Pillow Check the logs for full command output.

How do I install Pillow on termux?

like image 725
N1NG4 Avatar asked Jul 17 '20 14:07

N1NG4


People also ask

Does pillow work on Linux?

Linux Installation Most major Linux distributions, including Fedora, Ubuntu and ArchLinux also include Pillow in packages that previously contained PIL e.g. python-imaging . Debian splits it into two packages, python3-pil and python3-pil. imagetk .


1 Answers

First download the wheel module from pypi

pip install wheel

Then install the libjpeg-turbo package.

pkg install libjpeg-turbo

And now install Pillow with:

LDFLAGS="-L/system/lib/" CFLAGS="-I/data/data/com.termux/files/usr/include/" pip install Pillow

Note: If you are using an aarch64 device, set the LDFLAGS flag to "-L/system/lib64/"

related: Install Pillow in termux - Termux Wiki

like image 167
Ajay Lingayat Avatar answered Oct 11 '22 16:10

Ajay Lingayat