It fails when trying to initially install pre-commit as that step depends on the requirements.txt file as a constraint, but in a brand new project that file does not exist yet. A few steps later the just py lock command is run which does generate the file.