Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The headers or library files could not be found for zlib, a required dependency when compiling Pillow from source #4242

Closed
Quazaka opened this issue Nov 30, 2019 · 24 comments
Labels
Installation Usually a problem with … Windows

Comments

@Quazaka
Copy link

Quazaka commented Nov 30, 2019

I have trouble installing Pillow in my virtual environment on windows.
I an using:
windows 19 64-bit
Python 3.8 64-bit
pip Version 19.03
setuptools 40.8.0

When ever i try to use pip/pip3 install pillow i get the following message saying it can't locate zlib. I am quiet stuck. I have looked though your issues and could not find a solution that resolved my problem.

Collecting Pillow
  Using cached https://files.pythonhosted.org/packages/5b/bb/cdc8086db1f15d0664dd22a62c69613cdc00f1dd430b5b19df1bea83f2a3/Pillow-6.2.1.tar.gz
Installing collected packages: Pillow
  Running setup.py install for Pillow: started
    Running setup.py install for Pillow: finished with status 'error'
    Complete output from command C:\Users\James\PycharmProjects\MarsGuile\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\James\\AppData\\Local\\Temp\\pycharm-packaging\\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 C:\Users\James\AppData\Local\Temp\pip-record-8wbk3_eu\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\James\PycharmProjects\MarsGuile\venv\include\site\python3.8\Pillow:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.8
    creating build\lib.win32-3.8\PIL
    copying src\PIL\BdfFontFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\BlpImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\BmpImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\BufrStubImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ContainerIO.py -> build\lib.win32-3.8\PIL
    copying src\PIL\CurImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\DcxImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\DdsImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\EpsImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ExifTags.py -> build\lib.win32-3.8\PIL
    copying src\PIL\features.py -> build\lib.win32-3.8\PIL
    copying src\PIL\FitsStubImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\FliImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\FontFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\FpxImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\FtexImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\GbrImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\GdImageFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\GifImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\GimpGradientFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\GimpPaletteFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\GribStubImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\Hdf5StubImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\IcnsImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\IcoImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\Image.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageChops.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageCms.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageColor.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageDraw.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageDraw2.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageEnhance.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageFilter.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageFont.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageGrab.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageMath.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageMode.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageMorph.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageOps.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImagePalette.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImagePath.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageQt.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageSequence.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageShow.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageStat.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageTk.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageTransform.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImageWin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\ImtImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\IptcImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\Jpeg2KImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\JpegImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\JpegPresets.py -> build\lib.win32-3.8\PIL
    copying src\PIL\McIdasImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\MicImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\MpegImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\MpoImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\MspImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PaletteFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PalmImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PcdImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PcfFontFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PcxImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PdfImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PdfParser.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PixarImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PngImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PpmImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PsdImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PSDraw.py -> build\lib.win32-3.8\PIL
    copying src\PIL\PyAccess.py -> build\lib.win32-3.8\PIL
    copying src\PIL\SgiImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\SpiderImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\SunImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\TarIO.py -> build\lib.win32-3.8\PIL
    copying src\PIL\TgaImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\TiffImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\TiffTags.py -> build\lib.win32-3.8\PIL
    copying src\PIL\WalImageFile.py -> build\lib.win32-3.8\PIL
    copying src\PIL\WebPImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\WmfImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\XbmImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\XpmImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\XVThumbImagePlugin.py -> build\lib.win32-3.8\PIL
    copying src\PIL\_binary.py -> build\lib.win32-3.8\PIL
    copying src\PIL\_tkinter_finder.py -> build\lib.win32-3.8\PIL
    copying src\PIL\_util.py -> build\lib.win32-3.8\PIL
    copying src\PIL\_version.py -> build\lib.win32-3.8\PIL
    copying src\PIL\__init__.py -> build\lib.win32-3.8\PIL
    copying src\PIL\__main__.py -> build\lib.win32-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 '.codecov.yml'
    warning: no previously-included files found matching '.editorconfig'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'azure-pipelines.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 '.azure-pipelines'
    no previously-included directories found matching '.travis'
    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 "C:\Users\James\AppData\Local\Temp\pycharm-packaging\Pillow\setup.py", line 852, in <module>
        setup(
      File "C:\Users\James\PycharmProjects\MarsGuile\venv\lib\site-packages\setuptools-40.8.0-py3.8.egg\setuptools\__init__.py", line 145, in setup
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\James\PycharmProjects\MarsGuile\venv\lib\site-packages\setuptools-40.8.0-py3.8.egg\setuptools\command\install.py", line 61, in run
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\James\AppData\Local\Programs\Python\Python38-32\lib\distutils\command\build_ext.py", line 340, in run
        self.build_extensions()
      File "C:\Users\James\AppData\Local\Temp\pycharm-packaging\Pillow\setup.py", line 687, 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 "C:\Users\James\AppData\Local\Temp\pycharm-packaging\Pillow\setup.py", line 903, 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
    
    
    
    ----------------------------------------

Command "C:\Users\James\PycharmProjects\MarsGuile\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\James\\AppData\\Local\\Temp\\pycharm-packaging\\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 C:\Users\James\AppData\Local\Temp\pip-record-8wbk3_eu\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\James\PycharmProjects\MarsGuile\venv\include\site\python3.8\Pillow" failed with error code 1 in C:\Users\James\AppData\Local\Temp\pycharm-packaging\Pillow\

@Quazaka
Copy link
Author

Quazaka commented Nov 30, 2019

I figured it was my pip version that was behind. I close the issue as upgrade the pip version fixed it.
I used the following command in my venv to upgrade pip.
python -m pip install -U --force-reinstall pip

Seems like i didn't look hard enough at already closed issues.

@MaximMukhametov
Copy link

i have the same problem. Did you solve the problem?

@TamerSobhy
Copy link

I am having the same issue

@MaximMukhametov
Copy link

I am having the same issue

Man! I have already solved this problem. Just try: easy_install pillow

@TamerSobhy
Copy link

I am having the same issue

Man! I have already solved this problem. Just try: easy_install pillow

Thanks

@scottmai
Copy link

I solved this by downgrading pip to version 19.3.1 (from 20.0.2)

@ghost
Copy link

ghost commented Feb 19, 2020

I solved this by downgrading pip to version 19.3.1 (from 20.0.2)

thank you very much, solved.
python -m pip install pip==19.3.1

@OxAL7
Copy link

OxAL7 commented Feb 24, 2020

Well, downgrade pip from 20.0.2 to 19.3.1 not working.

Could you tell me Python version which you are using?

I am using Python 3.7.5

@ghost
Copy link

ghost commented Feb 24, 2020

Well, downgrade pip from 20.0.2 to 19.3.1 not working.

Could you tell me Python version which you are using?

I am using Python 3.7.5

Python 3.8.1

@OxAL7
Copy link

OxAL7 commented Feb 24, 2020

@lpessin Thanks for your fast reply.
Could you tell me Pillow version you are using?
Thanks

@ghost
Copy link

ghost commented Feb 24, 2020

@xzxdev Pillow 7.0.0.

@prasannaraja
Copy link

installing Pillow==6.2.2 Solved the issue 👍

@jonathanmv
Copy link

jonathanmv commented Mar 6, 2020

Pillow==6.2.0 was giving me the issue.
upgrading to 6.2.2 solved it as noted by @prasannaraja

Python 3.8.0
pip 20.0.2

@Martlark
Copy link

On windows downgraded to Python 3.7.5 64 bit installs fine now.

@poncianodavid
Copy link

perfect, installing Pillow==6.2.2 fixed it.

@MSaqibShah
Copy link

I solved this by downgrading pip to version 19.3.1 (from 20.0.2)

This seemed to work for me. Thanks a bunch.
python 3.8.1
pip 19.3.1(downgraded from 20.0.2)
pillow 7.1.1
windows 10 64 bit

@zaffer8
Copy link

zaffer8 commented May 12, 2020

https://stackoverflow.com/questions/34631806/fail-during-installation-of-pillow-python-module-in-linux

The package requirements of all versions of ubuntu is mentioned here.
I was using 18.04 and encountered this problem.

Solved it using

pip install --upgrade pip
sudo apt install libjpeg8-dev zlib1g-dev
pip install --ignore-installed pillow

@dimasanwaraziz
Copy link

sudo apt install libjpeg8-dev zlib1g-dev

It's working for me, thankyou!!

@aclark4life
Copy link
Member

Hard to believe this is still happening in 2020 (like many unpleasant things, I guess), but it is! E.g.

__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


An error occurred when trying to install Pillow 6.2.2. Look above this message for 
any 
errors that were output by easy_install.

Here's how I get 6.2.2 going on Catalina with Python 2.7 FWIW.


  brew install zlib
  export LDFLAGS="-L/usr/local/opt/zlib/lib"
  export CPPFLAGS="-I/usr/local/opt/zlib/include"
  pip2.7 install Pillow==6.2.2


@goodje
Copy link

goodje commented Jun 11, 2020

I checked the source code of setup.py, it searches for zlib.h within specified folders, like /usr/local/include, while on Mac, built-in zlib.h is in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include, so I just created a link as shown below, and it worked.

ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/zlib.h /usr/local/include/zlib.h

@jac0x
Copy link

jac0x commented Jun 18, 2020

For anyone having trouble, please have a look.
https://pillow.readthedocs.io/en/latest/installation.html

@aclark4life
Copy link
Member

aclark4life commented Jun 18, 2020

@python-pillow/pillow-team All of these one-off approaches should perhaps be documented under macOS … https://pillow.readthedocs.io/en/latest/installation.html, with the exception of my one-off here: #4242 (comment) because Python 2.7 and Pillow 6.2.2 are old/unsupp. Then again, pip install Pillow on Catalina "just works" with wheel, so what are we even talking about here? 😄
Screen Shot 2020-06-18 at 9 53 47 AM

I'll answer that rhetorical question by saying for my part: I'd like to never ever EVER see a "zlib missing" ticket again my entire life, and if that means fully documenting every Pillow release and every compatible-at-the-time Python release with some meaningful, helpful, useful, guaranteed not-to-fail workaround, then maybe I'm interested in doing that work. Probably not, but maybe.

#QuarantineLife

@hugovk
Copy link
Member

hugovk commented Jun 18, 2020

This issue was originally for Windows, and and there's lots of thumbs up for the solution in the second comment: upgrade your pip.

We've since liberally peppered the installation instructions with "upgrade pip" before installing Pillow:

Probably many of the followup comments are unrelated and in any case don't have enough info to tell what's going on. I'd be tempted to lock this issue so new reports give enough info.

Anyway, https://github.com/python-pillow/Pillow/issues/3438 is the big one for zlib on macOS when building from source (installing from wheel should be fine). It seems Apple keep changing things, but I agree it'd good to settle on something to document, and we can update as and when needed. Or even document a few of them.

@hugovk hugovk added Windows Installation Usually a problem with … labels Jun 18, 2020
@aclark4life
Copy link
Member

@hugovk Yaaas, good ideas, thanks. I'm probably pro pick-a-fix, document fix, link-to-documented-fix, lock-this-issue.

@python-pillow python-pillow locked as resolved and limited conversation to collaborators Jun 18, 2020
@radarhere radarhere changed the title The headers or library files could not be found for zlib, a required dependency when compiling Pillow from source. The headers or library files could not be found for zlib, a required dependency when compiling Pillow from source Aug 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Installation Usually a problem with … Windows
Projects
None yet
Development

No branches or pull requests