pythonarcade / arcade

Easy to use Python library for creating 2D arcade games.
http://arcade.academy
Other
1.69k stars 319 forks source link

python 3.12.4 compatible? #2369

Open non-npc opened 1 day ago

non-npc commented 1 day ago

Bug Report

Installing Arcade on windows 10 running python 3.12.4 results in the following error:

pip install arcade Collecting arcade Downloading arcade-2.6.17-py3-none-any.whl.metadata (4.5 kB) Collecting pyglet==2.0.dev23 (from arcade) Downloading pyglet-2.0.dev23-py3-none-any.whl.metadata (8.1 kB) Collecting pillow~=9.3.0 (from arcade) Downloading Pillow-9.3.0.tar.gz (50.4 MB) ---------------------------------------- 50.4/50.4 MB 2.5 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting pymunk~=6.4.0 (from arcade) Downloading pymunk-6.4.0.zip (7.7 MB) ---------------------------------------- 7.7/7.7 MB 2.7 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting pytiled-parser==2.2.0 (from arcade) Downloading pytiled_parser-2.2.0-py3-none-any.whl.metadata (5.3 kB) Requirement already satisfied: attrs>=18.2.0 in c:\python\python312\lib\site-packages (from pytiled-parser==2.2.0->arcade) (23.2.0) Requirement already satisfied: typing-extensions in c:\python\python312\lib\site-packages (from pytiled-parser==2.2.0->arcade) (4.12.2) Requirement already satisfied: cffi>=1.15.0 in c:\python\python312\lib\site-packages (from pymunk~=6.4.0->arcade) (1.16.0) Requirement already satisfied: pycparser in c:\python\python312\lib\site-packages (from cffi>=1.15.0->pymunk~=6.4.0->arcade) (2.22) Downloading arcade-2.6.17-py3-none-any.whl (39.4 MB) ---------------------------------------- 39.4/39.4 MB 2.7 MB/s eta 0:00:00 Downloading pyglet-2.0.dev23-py3-none-any.whl (965 kB) ---------------------------------------- 965.3/965.3 kB 2.1 MB/s eta 0:00:00 Downloading pytiled_parser-2.2.0-py3-none-any.whl (42 kB) ---------------------------------------- 42.7/42.7 kB 2.0 MB/s eta 0:00:00 Building wheels for collected packages: pillow, pymunk Building wheel for pillow (setup.py) ... error error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [192 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\FitsImagePlugin.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_deprecate.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 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 '.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\non-npc\AppData\Local\Temp\pip-install-pbg4p_sv\pillow_8396c492b0924ba38b03478dccfeb88a\setup.py", line 995, in <module>
      setup(
    File "C:\Python\Python312\Lib\site-packages\setuptools\__init__.py", line 111, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\core.py", line 184, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands
      dist.run_commands()
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 964, in run_commands
      self.run_command(cmd)
    File "C:\Python\Python312\Lib\site-packages\setuptools\dist.py", line 948, in run_command
      super().run_command(command)
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 983, in run_command
      cmd_obj.run()
    File "C:\Python\Python312\Lib\site-packages\setuptools\command\bdist_wheel.py", line 384, in run
      self.run_command("build")
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "C:\Python\Python312\Lib\site-packages\setuptools\dist.py", line 948, in run_command
      super().run_command(command)
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 983, in run_command
      cmd_obj.run()
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run
      self.run_command(cmd_name)
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "C:\Python\Python312\Lib\site-packages\setuptools\dist.py", line 948, in run_command
      super().run_command(command)
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 983, in run_command
      cmd_obj.run()
    File "C:\Python\Python312\Lib\site-packages\setuptools\command\build_ext.py", line 96, in run
      _build_ext.run(self)
    File "C:\Python\Python312\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
      self.build_extensions()
    File "C:\Users\non-npc\AppData\Local\Temp\pip-install-pbg4p_sv\pillow_8396c492b0924ba38b03478dccfeb88a\setup.py", line 810, 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\non-npc\AppData\Local\Temp\pip-install-pbg4p_sv\pillow_8396c492b0924ba38b03478dccfeb88a\setup.py", line 1012, 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\non-npc\AppData\Local\Temp\pip-install-pbg4p_sv\pillow_8396c492b0924ba38b03478dccfeb88a\setup.py:45: RuntimeWarning: Pillow 9.3.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 Building wheel for pymunk (pyproject.toml) ... done Created wheel for pymunk: filename=pymunk-6.4.0-cp312-cp312-win_amd64.whl size=329059 sha256=825354119e5a173c545ea67cae3e0eea322b482a504531870e7e4aba1f47c7d1 Stored in directory: c:\users\non-npc\appdata\local\pip\cache\wheels\b2\27\dd\2b4e9552358cd6cc64263208c636420e9e9880f9254418cc38 Successfully built pymunk Failed to build pillow ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pillow)

eschan145 commented 1 day ago

This is a problem with pillow, not arcade.

Take a look at this: https://github.com/python-pillow/Pillow/issues/4242

pushfoo commented 1 day ago

@non-npc If you're okay with using dev preview builds for the upcoming 3.0 release:

  1. Try running pip install arcade==3.0.0.dev35
  2. If it works, use the development preview doc

The major API differences are in camera system, arcade.draw_commands, and UI portions of the library.