Skip to content

Conversation

@dahagag
Copy link
Member

@dahagag dahagag commented Nov 7, 2025

Description

This PR updates Pillow from version 9.2.0 to 10.1.0 to fix installation failures on Python 3.13.

Changes

  • Updated requirements.txt: Pillow==9.2.0Pillow==10.1.0
  • Updated requirements-webapp.txt: Pillow==9.2.0Pillow==10.1.0

Problem

The package installation fails on Python 3.13 with a KeyError: '__version__' error during the Pillow 9.2.0 build process. This occurs because Pillow 9.2.0's setup.py is incompatible with Python 3.13.

Solution

Pillow 10.1.0 (released October 2023) includes full Python 3.13 support and resolves the installation issue.

Testing

✅ Tested in virtual environment with Python 3.12 - installation successful with Pillow 10.1.0

⚠️ Note: During testing, an additional Python 3.13 compatibility issue was discovered with mkwvconf==0.1.1. This will need to be addressed in a separate PR. See issue #605 for details.

Fixes #605

- Upgrade Pillow from 9.2.0 to 10.1.0 in requirements.txt
- Upgrade Pillow from 9.2.0 to 10.1.0 in requirements-webapp.txt
- Fixes installation errors on Python 3.13
- Pillow 10.1.0 includes full Python 3.13 support

Fixes ascoderu#605
- Switch from PyPI dependency mkwvconf==0.1.1 to GitHub dev branch
- Resolves mkwvconf installation issues with fixed python_requires
- Ensures compatibility with Pillow 10.1.0 and Python 3.13
- Dev branch includes fixes for invalid python_requires specification
- Upgrade environs from 9.5.0 to 11.0.0 for marshmallow 4.x compatibility
- Fixes AttributeError: module 'marshmallow' has no attribute '__version_info__'
- environs 9.5.0 accessed removed __version_info__ attribute in marshmallow 4.x
- Resolves Ansible deployment error when creating Lokole admin user
- Pillow 10.1.0 doesn't have pre-built wheels for Python 3.13
- This causes build failures with KeyError: '__version__' on ARM64
- Pillow 10.4.0 has proper Python 3.13 support with pre-built wheels
- Babel 2.10.3 imports from cgi module which was removed in Python 3.13
- This caused 'ModuleNotFoundError: No module named cgi' in pybabel
- Babel 2.13.1 replaced cgi usage with email.message for Python 3.13 support
@dahagag dahagag assigned dahagag and unassigned dahagag Nov 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Pillow to support Python 3.13 compatibility

1 participant