1st November 2026
I've been getting the occasional confusing Python dependency error since switching over to Python 3.15 and the rule I'm having to remember is:
If in doubt, delete the uv.lock file
Most of my projects are libraries which don't include a uv.lock file, since it's rude for a library dependency to lock versions for anything else that uses it.
Running uv run pytest etc tends to leave uv.lock files lying around, which are listed in .gitignore and so do not get committed to my repositories.
But... sometimes that uv.lock pins a version of a dependency that doesn't yet have a Python 3.15 wheel. An example from earlier today:
error: Failed to build `watchfiles==1.1.1`
cause: Call to `maturin.build_wheel` failed
error: the configured Python interpreter version (3.15) is newer
than PyO3's maximum supported version (3.14)
Deleting that file and running uv run pytest again usually fixes the problem.
Recent articles
- The October inflection point for vibe game development - 28th October 2026
- Battle Drones - a vibe coded RTS with audio-based multiplayer - 20th October 2026
- Hello Python 3.15, goodbye 3.10, and now I can use 3.11 - 12th October 2026
- A new feature for my blog, built using my voice - 9th October 2026