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

Failed building dependencies with 32-bit Python on 64-bit Windows #7573

Closed
pauloswear opened this issue Nov 25, 2023 · 5 comments
Closed

Failed building dependencies with 32-bit Python on 64-bit Windows #7573

pauloswear opened this issue Nov 25, 2023 · 5 comments
Labels
Installation Usually a problem with … Windows

Comments

@pauloswear
Copy link

  • OS: Windows 11 x64
  • Python: 3.11 32-bit
  • Pillow: 10.1.0 (any 10.x.x)

How to reproduce: Install any python 3.11.x 32-bit. run pip install pillow

Trace:

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
╰─> [206 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win32-cpython-311
creating build\lib.win32-cpython-311\PIL
copying src\PIL\BdfFontFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\BlpImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\BmpImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\BufrStubImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ContainerIO.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\CurImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\DcxImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\DdsImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\EpsImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ExifTags.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\features.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\FitsImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\FliImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\FontFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\FpxImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\FtexImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\GbrImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\GdImageFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\GifImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\GimpGradientFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\GimpPaletteFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\GribStubImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\Hdf5StubImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\IcnsImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\IcoImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\Image.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageChops.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageCms.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageColor.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageDraw.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageDraw2.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageEnhance.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageFilter.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageFont.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageGrab.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageMath.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageMode.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageMorph.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageOps.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImagePalette.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImagePath.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageQt.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageSequence.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageShow.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageStat.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageTk.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageTransform.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImageWin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\ImtImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\IptcImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\Jpeg2KImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\JpegImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\JpegPresets.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\McIdasImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\MicImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\MpegImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\MpoImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\MspImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PaletteFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PalmImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PcdImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PcfFontFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PcxImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PdfImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PdfParser.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PixarImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PngImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PpmImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PsdImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PSDraw.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\PyAccess.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\QoiImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\SgiImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\SpiderImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\SunImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\TarIO.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\TgaImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\TiffImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\TiffTags.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\WalImageFile.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\WebPImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\WmfImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\XbmImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\XpmImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL\XVThumbImagePlugin.py -> build\lib.win32-cpython-311\PIL
copying src\PIL_binary.py -> build\lib.win32-cpython-311\PIL
copying src\PIL_deprecate.py -> build\lib.win32-cpython-311\PIL
copying src\PIL_tkinter_finder.py -> build\lib.win32-cpython-311\PIL
copying src\PIL_util.py -> build\lib.win32-cpython-311\PIL
copying src\PIL_version.py -> build\lib.win32-cpython-311\PIL
copying src\PIL_init_.py -> build\lib.win32-cpython-311\PIL
copying src\PIL_main_.py -> build\lib.win32-cpython-311\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 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 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'
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 "<string>", line 988, in <module>
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
      dist.run_commands()
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\dist.py", line 963, in run_command
      super().run_command(command)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\normal\Lib\site-packages\wheel\bdist_wheel.py", line 369, in run
      self.run_command("build")
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\dist.py", line 963, in run_command
      super().run_command(command)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
      self.run_command(cmd_name)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\dist.py", line 963, in run_command
      super().run_command(command)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\command\build_ext.py", line 88, in run
      _build_ext.run(self)
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 345, in run
      self.build_extensions()
    File "<string>", line 811, in build_extensions
  RequiredDependencyException: zlib

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "F:\My Drive\Projetos SC\2. TIKTOK\SEGUIR ADB\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "F:\My Drive\Projetos SC\2. TIKTOK\SEGUIR ADB\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "F:\My Drive\Projetos SC\2. TIKTOK\SEGUIR ADB\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Paulo\AppData\Local\Temp\pip-install-jy18cc80\pillow_bb8f35d7521145418e7a57972957f4fc\_custom_build\backend.py", line 53, in build_wheel
      return super().build_wheel(wheel_directory, config_settings, metadata_directory)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\build_meta.py", line 404, in build_wheel
      return self._build_with_temp_dir(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\build_meta.py", line 389, in _build_with_temp_dir
      self.run_setup()
    File "C:\Users\Paulo\AppData\Local\Temp\pip-install-jy18cc80\pillow_bb8f35d7521145418e7a57972957f4fc\_custom_build\backend.py", line 47, in run_setup
      return super().run_setup(setup_script)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Paulo\AppData\Local\Temp\pip-build-env-g30hvtz7\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
      exec(code, locals())
    File "<string>", line 1005, in <module>
  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


  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for Pillow
Failed to build Pillow
ERROR: Could not build wheels for Pillow, which is required to install pyproject.toml-based projects

@hugovk
Copy link
Member

hugovk commented Nov 25, 2023

  • OS: Windows 11 x64
  • Python: 3.11 32-bit
  • Pillow: 10.1.0 (any 10.x.x)

Since Pillow 10, 32-bit wheels are no longer provided:

https://pillow.readthedocs.io/en/stable/releasenotes/10.0.0.html#bit-wheels

Is there a reason you're using 32-bit Python on 64-bit Windows? Can you re-install with 64-bit Python?

@hugovk hugovk changed the title [BUG] Failed building dependencies Failed building dependencies with 32-bit Python on 64-bit Windows Nov 25, 2023
@hugovk hugovk added Installation Usually a problem with … Windows labels Nov 25, 2023
@radarhere
Copy link
Member

Pillow should still work on 32-bit, you just have to build it from source yourself. See https://pillow.readthedocs.io/en/stable/installation.html#building-from-source for more information.

If you like to read more about the decision to no longer provide 32-bit wheels for WIndows, see #7443.

@pauloswear
Copy link
Author

  • OS: Windows 11 x64
  • Python: 3.11 32-bit
  • Pillow: 10.1.0 (any 10.x.x)

Since Pillow 10, 32-bit wheels are no longer provided:

https://pillow.readthedocs.io/en/stable/releasenotes/10.0.0.html#bit-wheels

Is there a reason you're using 32-bit Python on 64-bit Windows? Can you re-install with 64-bit Python?

Yes, actually, I have some clients who still use old systems operating on Windows 32 architecture. Therefore, I can't transition to 64-bit Python to continue providing support for these clients. The obfuscator binds python interpreter to executable, so, If I bind python 64-bit version, only 64-bit OS will run executable.

@pauloswear
Copy link
Author

Pillow should still work on 32-bit, you just have to build it from source yourself. See https://pillow.readthedocs.io/en/stable/installation.html#building-from-source for more information.

If you like to read more about the decision to no longer provide 32-bit wheels for WIndows, see #7443.

Sure, I understand the reason not to maintain support for 32-bit, as this architecture is becoming obsolete. I prefer using Pillow 9.5 version, which has the necessary installation wheels.

In the future, I may build this from source for an upgrade, but I don't currently have the need to use the latest version.

Thank you for your response, and I appreciate it! You can close the topic.

@radarhere
Copy link
Member

Pillow 10.2.0 has been released, now with Windows 32-bit wheels once again, so you should no longer need to downgrade.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Installation Usually a problem with … Windows
Projects
None yet
Development

No branches or pull requests

3 participants