Troubleshooting
This guide covers common issues you might encounter when using this package and how to resolve them.
Setup Issues
Pre-commit Hook Installation Fails
Problem: pre-commit install returns an error or hooks don't run on commit.
Solutions:
- Ensure you're in the project root directory
- Verify Python virtual environment is activated
-
Reinstall pre-commit:
-
Check if
.gitdirectory exists (must be a git repository) - Try running manually:
pre-commit run --all-files
commitlint Not Running
Problem: Commit messages aren't validated despite npm install being run.
Solutions:
-
Verify
npm installwas successful: -
Re-install commitlint dependencies:
-
Reinstall pre-commit hooks:
-
Test manually:
Virtual Environment Issues
Problem: Packages can't be found or dependencies conflict.
Solutions:
-
Create a fresh virtual environment:
-
Upgrade pip:
-
Install dependencies:
-
Verify installation:
Python Version Mismatch
Problem: python -m venv .venv fails or tests don't run with wrong Python version.
Solutions:
-
Check your Python version:
-
Ensure Python 3.10 or higher is installed
-
Use specific Python version when creating venv:
-
Or use uv for version management:
Testing Issues
Pytest Fails to Collect Tests
Problem: pytest returns "no tests collected" or import errors.
Solutions:
- Verify test file naming: Must be
test_*.pyor*_test.py - Verify test function naming: Must start with
test_ - Check
__init__.pyexists in test directory:touch tests/__init__.py -
Run pytest with verbose output:
-
Check test discovery:
Import Errors in Tests
Problem: Tests can't import your package modules.
Solutions:
-
Install package in development mode:
-
Verify package structure (should have
src/your_package/) - Check
pyproject.tomlhas correctpackagesconfiguration - Run from project root directory
- Verify
__init__.pyexists in package directory
Coverage Report Issues
Problem: Coverage report shows 0% or missing files.
Solutions:
-
Run pytest with coverage:
-
Check
.coveragercorpyproject.tomlcoverage settings - Ensure source files have proper imports
- Verify test files import from
src/layout correctly
Pre-commit Hook Issues
Hooks Running Too Slowly
Problem: Pre-commit takes a very long time or times out.
Solutions:
-
Check which hooks are slow:
-
Consider excluding large files:
-
Run specific hooks:
Formatting Changes After Commit
Problem: Pre-commit auto-fixes files, but you didn't expect it.
Solutions:
- This is normal behavior - review the changes
-
Stage the new changes:
-
Modify tool settings if behavior is unwanted (in
pyproject.toml) -
Disable specific hooks temporarily:
"Unstaged Changes" After Running Hooks
Problem: Pre-commit modified files but they're not staged.
Solutions:
-
This is expected - review changes:
-
Stage the changes:
-
Try committing again
- Or use
git add -Ato stage all changes before commit
Getting Help
If you encounter issues not listed here:
- Check existing issues: Search GitHub Issues for your problem
- Review logs carefully: Error messages usually point to the root cause
- Search documentation: Many issues are covered in specific tool docs
- Try minimal reproduction: Isolate the problem to a single file/command
- Ask for help: Open an issue with:
- Your environment (Python version, OS)
- Steps to reproduce
- Full error message/logs
- What you've already tried