Skip to content

PyJWT 2.10.1: import jwt fails under apache2/mod_wsgi #1092

@petasis

Description

@petasis

PyJWT cannot be loaded. import jwt fails.

Expected Result

import jwt to work.

Actual Result

[Mon Sep 15 22:41:58.179503 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]   File "/var/www/social-web-observatory-backend/backend/app.py", line 6, in <module>, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179504 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     import jwt, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179506 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]   File "/usr/local/lib/python3.13/site-packages/jwt/__init__.py", line 1, in <module>, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179507 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     from .api_jwk import PyJWK, PyJWKSet, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179508 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]   File "/usr/local/lib/python3.13/site-packages/jwt/api_jwk.py", line 7, in <module>, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179509 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     from .algorithms import get_default_algorithms, has_crypto, requires_cryptography, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179515 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]   File "/usr/local/lib/python3.13/site-packages/jwt/algorithms.py", line 11, in <module>, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179516 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     from .utils import (, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179516 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     ...<9 lines>..., referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179517 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     ), referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179519 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]   File "/usr/local/lib/python3.13/site-packages/jwt/utils.py", line 7, in <module>, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179520 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurve, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179522 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]   File "/usr/local/lib64/python3.13/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py", line 11, in <module>, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179523 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     from cryptography.exceptions import UnsupportedAlgorithm, _Reasons, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179524 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]   File "/usr/local/lib64/python3.13/site-packages/cryptography/exceptions.py", line 9, in <module>, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179525 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516]     from cryptography.hazmat.bindings._rust import exceptions as rust_exceptions, referer: https://socialwebobservatory.iit.demokritos.gr/
[Mon Sep 15 22:41:58.179530 2025] [wsgi:error] [pid 5:tid 5] [client 192.168.50.44:51516] ImportError: PyO3 modules do not yet support subinterpreters, see https://github.com/PyO3/pyo3/issues/576, referer: https://socialwebobservatory.iit.demokritos.gr/
```.

## Reproduction Steps

```python
import jwt

System Information

$ python -m jwt.help
{
  "cryptography": {
    "version": "45.0.5"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.13.7"
  },
  "platform": {
    "release": "6.16.7-200.fc42.x86_64",
    "system": "Linux"
  },
  "pyjwt": {
    "version": "2.10.1"
  }
}

This command is only available on PyJWT v1.6.3 and greater. Otherwise,
please provide some basic information about your system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions