Error with Pillow library when dockerinzing Django app
I develop Django apps in Windows environnement and deploy my apps in production in Linux server.
Python 3.8.3
I have a Django project that works (in dev and prod) and I try to "dockerize" it
but I got an error when installing requirements.txt
error seems to come from pillow library but even if I remove the Pillow==6.2.1
it doesn't change
below the tracelog error
requirements.twt
Django==2.2.5
django-bootstrap4==1.0.1
django-crispy-forms==1.7.2
django-debug-toolbar==2.0
django-extensions==2.2.9
django-maintenance-mode==0.15.0
django-partial-date==1.2.2
django-safedelete==0.5.2
django-simple-history==2.7.3
django-widget-tweaks==1.4.5
Pillow==6.2.1
python-gettext==4.0
pytz==2019.2
reportlab==3.5.32
selenium==3.141.0
six==1.12.0
soupsieve==1.9.3
sqlparse==0.3.0
urllib3==1.25.6
xlwt==1.3.0
Creating network "coverage_africa_default" with the default driver
Building web
Step 1/10 : FROM python:3.8.3-alpine
---> 8ecf5a48c789
Step 2/10 : WORKDIR /usr/src/app
---> Using cache
---> 6e7b9e258aae
Step 3/10 : ENV PYTHONDONTWRITEBYTECODE 1
---> Using cache
---> 130a8576b1fa
Step 4/10 : ENV PYTHONUNBUFFERED 1
---> Using cache
---> 6e32ad96bd91
Step 5/10 : RUN apk update && apk add postgresql-dev gcc python3-dev musl-dev
---> Using cache
---> c4010960001d
Step 6/10 : COPY requirements/ requirements/
---> 2591c3840465
Step 7/10 : RUN pip install --upgrade pip && pip install -r requirements/dev.txt
---> Running in defe0caa7725
Collecting pip
Downloading pip-20.2.3-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.1.1
Uninstalling pip-20.1.1:
Successfully uninstalled pip-20.1.1
Successfully installed pip-20.2.3
Collecting Django==2.2.5
Downloading Django-2.2.5-py3-none-any.whl (7.5 MB)
Collecting django-bootstrap4==1.0.1
Downloading django-bootstrap4-1.0.1.tar.gz (6.8 MB)
Collecting django-crispy-forms==1.7.2
Downloading django_crispy_forms-1.7.2-py2.py3-none-any.whl (105 kB)
Collecting django-debug-toolbar==2.0
Downloading django_debug_toolbar-2.0-py3-none-any.whl (198 kB)
Collecting django-extensions==2.2.9
Downloading django_extensions-2.2.9-py2.py3-none-any.whl (217 kB)
Collecting django-maintenance-mode==0.15.0
Downloading django_maintenance_mode-0.15.0-py3-none-any.whl (14 kB)
Collecting django-partial-date==1.2.2
Downloading django_partial_date-1.2.2.tar.gz (4.6 kB)
Collecting django-safedelete==0.5.2
Downloading django-safedelete-0.5.2.tar.gz (22 kB)
Collecting django-simple-history==2.7.3
Downloading django_simple_history-2.7.3-py2.py3-none-any.whl (38 kB)
Collecting django-widget-tweaks==1.4.5
Downloading django_widget_tweaks-1.4.5-py2.py3-none-any.whl (11 kB)
Collecting python-gettext==4.0
Downloading python-gettext-4.0.tar.gz (13 kB)
Collecting pytz==2019.2
Downloading pytz-2019.2-py2.py3-none-any.whl (508 kB)
Collecting reportlab==3.5.32
Downloading reportlab-3.5.32.tar.gz (2.9 MB)
Collecting selenium==3.141.0
Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB)
Collecting six==1.12.0
Downloading six-1.12.0-py2.py3-none-any.whl (10 kB)
Collecting soupsieve==1.9.3
Downloading soupsieve-1.9.3-py2.py3-none-any.whl (32 kB)
Collecting sqlparse==0.3.0
Downloading sqlparse-0.3.0-py2.py3-none-any.whl (39 kB)
Collecting urllib3==1.25.6
Downloading urllib3-1.25.6-py2.py3-none-any.whl (125 kB)
Collecting xlwt==1.3.0
Downloading xlwt-1.3.0-py2.py3-none-any.whl (99 kB)
Collecting beautifulsoup4
Downloading beautifulsoup4-4.9.1-py3-none-any.whl (115 kB)
Collecting pillow>=4.0.0
Downloading Pillow-7.2.0.tar.gz (39.1 MB)
Building wheels for collected packages: django-bootstrap4, django-partial-date, django-safedelete, python-gettext, reportlab, pillow
Building wheel for django-bootstrap4 (setup.py): started
Building wheel for django-bootstrap4 (setup.py): finished with status 'done'
Created wheel for django-bootstrap4: filename=django_bootstrap4-1.0.1-py3-none-any.whl size=158259 sha256=d4690b1de92ea032179d6cf7b097b8602f3f92fd1276138944a5471d9b4175dc
Stored in directory: /root/.cache/pip/wheels/dc/9d/a3/0970f3e267e24b49e65bd880d085c6afe789ad49096579d99c
Building wheel for django-partial-date (setup.py): started
Building wheel for django-partial-date (setup.py): finished with status 'done'
Created wheel for django-partial-date: filename=django_partial_date-1.2.2-py3-none-any.whl size=5307 sha256=9f3df5b265d27f716e62aacd51af6cf84b380212796123fc47c4cd7801999944
Stored in directory: /root/.cache/pip/wheels/3f/8a/4f/5eeadac3d2378cc6e49b5f2c9e01cd3fd5faf69f832e9fd7e6
Building wheel for django-safedelete (setup.py): started
Building wheel for django-safedelete (setup.py): finished with status 'done'
Created wheel for django-safedelete: filename=django_safedelete-0.5.2-py3-none-any.whl size=32268 sha256=b000e61fe57e06d639dae573fd1eef278224ca24a0aaa851f5802e5535439dc0
Stored in directory: /root/.cache/pip/wheels/ee/9e/cc/5bffafa328113bb30b2837d8d1a374d44bf4493db36a0e8844
Building wheel for python-gettext (setup.py): started
Building wheel for python-gettext (setup.py): finished with status 'done'
Created wheel for python-gettext: filename=python_gettext-4.0-py3-none-any.whl size=15660 sha256=bc022a89a18d6b2a8607e1177e76f5e9936f587391af828f0caac4f73bad07e5
Stored in directory: /root/.cache/pip/wheels/49/e7/fa/c2610bb74ad6fd90ab7b0382f09374773f2abafbd7f230ffbb
Building wheel for reportlab (setup.py): started
Building wheel for reportlab (setup.py): finished with status 'done'
Created wheel for reportlab: filename=reportlab-3.5.32-cp38-cp38-linux_x86_64.whl size=1996737 sha256=4e86fbd197859a6dd4f04ec94a4413b29c979cb1cac9e165dca0257d2fdc9e55
Stored in directory: /root/.cache/pip/wheels/13/e5/af/66535131cbcd3fae747b9596d7c1a101bbc7b590497b32c59d
Building wheel for pillow (setup.py): started
Building wheel for pillow (setup.py): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-c64px_xu
cwd: /tmp/pip-install-p4yhm3j_/pillow/
Complete output (172 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/PIL
copying src/PIL/Image.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_version.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FontFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/__main__.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/__init__.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_util.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_binary.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TarIO.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/features.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-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'
warning: build_py: byte-compiling is disabled, skipping.
running build_ext
The headers or library files could not be found for zlib,
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-p4yhm3j_/pillow/setup.py", line 864, in <module>
setup(
File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
return distutils.core.setup(**attrs)
File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 223, in run
self.run_command('build')
File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.8/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.8/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 694, in build_extensions
raise RequiredDependencyException(f)
__main__.RequiredDependencyException: zlib
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 918, in <module>
raise RequiredDependencyException(msg)
__main__.RequiredDependencyException:
The headers or library files could not be found for zlib,
a required dependency when compiling Pillow from source.
Please see the install instructions at:
https://pillow.readthedocs.io/en/latest/installation.html
----------------------------------------
ERROR: Failed building wheel for pillow
Running setup.py clean for pillow
Successfully built django-bootstrap4 django-partial-date django-safedelete python-gettext reportlab
Failed to build pillow
Installing collected packages: pytz, sqlparse, Django, soupsieve, beautifulsoup4, django-bootstrap4, django-crispy-forms, django-debug-toolbar, six, django-extensions, django-maintenance-mode, django-partial-date, django-safedelete, django-simple-history, django-widget-tweaks, python-gettext, pillow, reportlab, urllib3, selenium, xlwt
Running setup.py install for pillow: started
Running setup.py install for pillow: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-p4yhm3j_/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 /tmp/pip-record-g28mx6ct/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pillow
cwd: /tmp/pip-install-p4yhm3j_/pillow/
Complete output (174 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/PIL
copying src/PIL/Image.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_version.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FontFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/__main__.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/__init__.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_util.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/_binary.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TarIO.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/features.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-3.8/PIL
copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-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'
warning: build_py: byte-compiling is disabled, skipping.
running build_ext
The headers or library files could not be found for zlib,
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-p4yhm3j_/pillow/setup.py", line 864, in <module>
setup(
File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
return distutils.core.setup(**attrs)
File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/local/lib/python3.8/distutils/command/install.py", line 545, in run
self.run_command('build')
File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.8/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.8/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 694, in build_extensions
raise RequiredDependencyException(f)
__main__.RequiredDependencyException: zlib
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 918, in <module>
raise RequiredDependencyException(msg)
__main__.RequiredDependencyException:
The headers or library files could not be found for zlib,
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: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-p4yhm3j_/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 /tmp/pip-record-g28mx6ct/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pillow Check the logs for full command output.
ERROR: Service 'web' failed to build: The command '/bin/sh -c pip install --upgrade pip && pip install -r requirements/dev.txt' returned a non-zero code: 1
Solution 1:
Following https://github.com/python-pillow/Pillow/issues/1763 it is enough just to add:
RUN apk add jpeg-dev zlib-dev
before
pip install -r requirements.txt
It works for me