Impossible to install Tkdesigner

I try to install Tkdesigner, but I got an error :
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for Pillow
Running setup.py clean for Pillow
Failed to build Pillow
ERROR: Could not build wheels for Pillow, which is required to install pyproject.toml-based projects

I try to install pyproject.toml with pip, but the issue persists.

Without basic information about what you are doing its hard to help you.

Which OS and its version also which version of Python?

I use Windows 11 64 (build insider:22635.3061)
And python version 3.12.1.

Do you have 32bit or 64bit python installed? IIRC; pillow doesn’t currently provide 32bit wheels, so you would need a C compiler installed and configured.

implies 64 bits

Really? You can’t install python 32bit on windows 64? That would be news to me.

You’re right. Sorry, I keep forgetting this.

Can we please see a complete log, starting from the command that you use for the installation and including all of the output - and formatted like code? What you’ve shown us is really only the part where Pip says that something went wrong, but nothing about what went wrong.

Where I can find the logs ?

Run the command that failed again but redirect the output into a file.
Something like this:

py -m pip install pillow >pip.log 2>&1

Note you will see nothing in the terminal until the command completes.
All the output will be in pip.log that you can post here along with the exact command line you used to create it.

With your command the log file is :

Requirement already satisfied: pillow in c:\users\veron\appdata\local\programs\python\python312\lib\site-packages (10.2.0)

but if i change

py -m pip install pillow >pip.log 2>&1

by

py -m pip install tkdesigner >pip.log 2>&1

The log file is :

Collecting tkdesigner
  Using cached tkdesigner-1.0.7-py3-none-any.whl (14 kB)
Collecting Jinja2==3.0.1 (from tkdesigner)
  Using cached Jinja2-3.0.1-py3-none-any.whl (133 kB)
Collecting Pillow<9.0.0,>=8.4.0 (from tkdesigner)
  Using cached Pillow-8.4.0.tar.gz (49.4 MB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting requests==2.25.1 (from tkdesigner)
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting urllib3<2.0.0,>=1.26.6 (from tkdesigner)
  Using cached urllib3-1.26.18-py2.py3-none-any.whl.metadata (48 kB)
Collecting MarkupSafe>=2.0 (from Jinja2==3.0.1->tkdesigner)
  Using cached MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl.metadata (3.0 kB)
Collecting chardet<5,>=3.0.2 (from requests==2.25.1->tkdesigner)
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting idna<3,>=2.5 (from requests==2.25.1->tkdesigner)
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\veron\appdata\local\programs\python\python312\lib\site-packages (from requests==2.25.1->tkdesigner) (2023.11.17)
Using cached urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
Using cached MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl (16 kB)
Building wheels for collected packages: Pillow
  Building wheel for Pillow (setup.py): started
  Building wheel for Pillow (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  python setup.py bdist_wheel did not run successfully.
  exit code: 1
  
  [187 lines of output]
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-cpython-312
  creating build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\BdfFontFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\BlpImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\BmpImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\BufrStubImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ContainerIO.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\CurImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\DcxImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\DdsImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\EpsImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ExifTags.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\features.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\FitsStubImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\FliImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\FontFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\FpxImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\FtexImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\GbrImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\GdImageFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\GifImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\GimpGradientFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\GimpPaletteFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\GribStubImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\Hdf5StubImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\IcnsImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\IcoImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\Image.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageChops.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageCms.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageColor.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageDraw.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageDraw2.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageEnhance.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageFilter.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageFont.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageGrab.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageMath.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageMode.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageMorph.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageOps.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImagePalette.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImagePath.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageQt.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageSequence.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageShow.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageStat.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageTk.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageTransform.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImageWin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\ImtImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\IptcImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\Jpeg2KImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\JpegImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\JpegPresets.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\McIdasImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\MicImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\MpegImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\MpoImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\MspImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PaletteFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PalmImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PcdImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PcfFontFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PcxImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PdfImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PdfParser.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PixarImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PngImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PpmImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PsdImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PSDraw.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\PyAccess.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\SgiImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\SpiderImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\SunImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\TarIO.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\TgaImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\TiffImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\TiffTags.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\WalImageFile.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\WebPImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\WmfImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\XbmImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\XpmImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\XVThumbImagePlugin.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\_binary.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\_tkinter_finder.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\_util.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\_version.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\__init__.py -> build\lib.win-amd64-cpython-312\PIL
  copying src\PIL\__main__.py -> build\lib.win-amd64-cpython-312\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'
  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 "C:\Users\veron\AppData\Local\Temp\pip-install-fm8lxhwe\pillow_f087d6cdb77a4dee8757172943e96449\setup.py", line 978, in <module>
      setup(
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
      dist.run_commands()
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\dist.py", line 963, in run_command
      super().run_command(command)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\wheel\bdist_wheel.py", line 368, in run
      self.run_command("build")
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\dist.py", line 963, in run_command
      super().run_command(command)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
      self.run_command(cmd_name)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\dist.py", line 963, in run_command
      super().run_command(command)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\command\build_ext.py", line 88, in run
      _build_ext.run(self)
    File "C:\Users\veron\AppData\Local\Programs\Python\Python312\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 345, in run
      self.build_extensions()
    File "C:\Users\veron\AppData\Local\Temp\pip-install-fm8lxhwe\pillow_f087d6cdb77a4dee8757172943e96449\setup.py", line 790, in build_extensions
      raise RequiredDependencyException(f)
  RequiredDependencyException: zlib
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "C:\Users\veron\AppData\Local\Temp\pip-install-fm8lxhwe\pillow_f087d6cdb77a4dee8757172943e96449\setup.py", line 1037, in <module>
      raise RequiredDependencyException(msg)
  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
  
  
  C:\Users\veron\AppData\Local\Temp\pip-install-fm8lxhwe\pillow_f087d6cdb77a4dee8757172943e96449\setup.py:46: RuntimeWarning: Pillow 8.4.0 does not support Python 3.12 and does not provide prebuilt Windows binaries. We do not recommend building from source on Windows.
    lambda: warnings.warn(
  [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for Pillow
  Running setup.py clean for Pillow
Failed to build Pillow
ERROR: Could not build wheels for Pillow, which is required to install pyproject.toml-based projects

This is why it did not build.

I do not know how you would make zlib available for a Windows pip build.

Anyone else know how to fix this?

Oh and what version of python have you installed?

What does py report as its first line? I’m interested in if this is a 32 or 64 bit version of python.

Sure ! It’s python 64 bits version : 3.12.1

And with vcpkg ? Packaging Archive Files Example: zlib

Tkdesigner appears to have several issues with their packaging that are causing you problems through no fault of yours.

1 Like

What can I do?

  1. Work in a virtual environment (“venv”) rather than using the global environment to install dependencies: py -m venv tkdesigner_venv
  2. Install the dependencies of tkdesigner, but without specifying versions; the latest should probably be fine (and if not, you can adjust them later): tkdesigner_venv\Scripts\pip install requests urllib3 Jinja2 Pillow
  3. Install tkdesigner without checking dependencies: tkdesigner_venv\Scripts\pip install --no-deps tkdesigner

Hopefully this will work for you; I’ve been able to replicate this much, but don’t have what’s required to actually run the program.

3 Likes

You have Pillow version 10.2.0 installed.

tkdesigner wants a version that is older than 9. It tries to build from source for 8.4.0, from the source it already downloaded.

It tells you exactly what is wrong when it tried to build that version of Pillow, and what you should read next in order to understand and fix the problem.

1 Like

Worked well for me, thanks!