1.8 KiB
1.8 KiB
Lesson Learned #001: Dependency Version Conflicts
Issue Name
Dependency Version Conflicts in Requirements Files
Date
2025-08-02
Description
During project setup, encountered version conflicts with Python package dependencies:
pytest-dash==2.5.0- Version did not exist in PyPI (max available: 2.1.2)python-bcrypt==4.1.2- Incorrect package name (should bebcrypt==4.1.2)
Error Messages
ERROR: Could not find a version that satisfies the requirement pytest-dash==2.5.0
(from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0rc1, 0.2.0rc2, 0.2.0rc3, 1.0.0, 1.0.1, 1.1.0, 2.0.0rc1, 2.0.0rc2, 2.0.0rc3, 2.0.0rc4, 2.0.0rc5, 2.0.0, 2.1.0, 2.1.1, 2.1.2)
ERROR: Could not find a version that satisfies the requirement python-bcrypt==4.1.2
(from versions: 0.3.1, 0.3.2)
Root Cause
- Incorrect package versions specified without checking PyPI availability
- Wrong package name used for bcrypt library
Solution Applied
-
Updated pytest-dash version:
- Changed from
pytest-dash==2.5.0topytest-dash==2.1.2 - Verified latest available version on PyPI
- Changed from
-
Fixed bcrypt package name:
- Changed from
python-bcrypt==4.1.2tobcrypt==4.1.2 - Used correct package name
- Changed from
Files Modified
requirements-backend.txt- Fixed bcrypt package namerequirements-frontend.txt- Updated pytest-dash version
Prevention Strategy
- Always verify package versions exist on PyPI before adding to requirements
- Use
pip searchor check PyPI website for correct package names - Consider using version ranges instead of exact pins for non-critical dependencies
- Implement CI/CD checks to validate requirements files
Impact
- ✅ All dependencies now install successfully
- ✅ Project setup process is streamlined
- ✅ Development environment can be started without version conflicts