-
Notifications
You must be signed in to change notification settings - Fork 110
Description
Bug: Incomplete requirements.txt Causes Installation Failure
Background
I selected the Ianvs core installation process, which affects all examples in the repository.
Problem Description
When following the official installation instructions from the README:
python -m pip install -r requirements.txt
python setup.py install
ianvs --helpUsers encounter multiple missing dependency errors that must be manually resolved.
Debug Process
Step 1: Initial Installation Attempt
cd C:\Users\shivam\Desktop\ianvs
pip install -r requirements.txt
python setup.py installError 1: Missing setuptools
ModuleNotFoundError: No module named 'setuptools'
Step 2: After Installing setuptools
pip install setuptools
python setup.py install
ianvs --helpError 2: Missing colorlog
ModuleNotFoundError: No module named 'colorlog'
Step 3: After Installing colorlog
pip install colorlog
ianvs --helpError 3: Missing yaml (PyYAML)
ModuleNotFoundError: No module named 'yaml'
Step 4: After Installing PyYAML
pip install pyyaml
ianvs --helpError 4: Missing sedna
ModuleNotFoundError: No module named 'sedna'
Logs
Current requirements.txt
prettytable~=2.5.0
scikit-learn
numpy
pandas
tqdm
matplotlib
onnxMissing Dependencies Identified
- setuptools (required by setup.py)
- colorlog (required by core/common/log.py)
- pyyaml (required by core/common/utils.py)
- sedna (required by core/testenvmanager/dataset/dataset.py)
- Potentially more (investigation ongoing)
Impact Analysis
Severity: Critical
This issue affects:
- All new users attempting to install Ianvs
- All platforms (Windows, Linux, macOS)
- All examples in the repository
- CI/CD systems relying on automated installs
Why this is critical
- Blocks initial setup entirely
- Creates poor first-time user experience
- Forces users into trial‑and‑error installation
- Wastes developer time
- Discourages adoption and contribution
Goals
This proposal aims to:
- Fix the incomplete
requirements.txtby adding all missing dependencies - Verify installation end‑to‑end across platforms
- Update installation documentation if needed
- Add a dependency validation script
- Prevent future dependency drift
Proposed Solution
Updated requirements.txt
# Core dependencies
setuptools>=40.0.0
pyyaml>=5.1
# Logging
colorlog>=6.0.0
# KubeEdge dependency
sedna>=0.4.0
# Data processing
prettytable~=2.5.0
scikit-learn>=1.0.0
numpy>=1.19.0
pandas>=1.1.0
# Utilities
tqdm>=4.50.0
matplotlib>=3.3.0
onnx>=1.8.0Why this fix works
- Includes all discovered dependencies
- Uses minimum version constraints to avoid conflicts
- Groups dependencies logically
- Improves maintainability and clarity
Do Core Modules Need Changes?
No.
The Python code correctly imports required libraries. The issue lies solely in dependency declaration, not implementation.
Additional Improvements
Dependency Validation Script
Create scripts/validate_dependencies.py to verify required imports before installation.
This script will:
- Attempt to import each required module
- Report missing packages clearly
- Exit with a non‑zero status if dependencies are missing
Documentation Update
Add a Troubleshooting → Missing Dependencies section to installation docs with:
python scripts/validate_dependencies.py
pip install -r requirements.txt
python setup.py installTesting Plan
Environments
- Windows 10/11
- Ubuntu 20.04 / 22.04
- macOS
Python Versions
- 3.8
- 3.9
- 3.10
Procedure
python -m venv test_env
source test_env/bin/activate # or test_env\Scripts\activate
pip install -r requirements.txt
python scripts/validate_dependencies.py
python setup.py install
ianvs --helpSuccess Criteria
- No
ModuleNotFoundError - CLI command works
- At least one example runs successfully
- Installation reproducible on all platforms
Risk Assessment
Potential Risks
Sedna dependency chain
May introduce additional requirements. Mitigation: document clearly and test thoroughly.
Version conflicts
Use minimum versions rather than exact pins.
Platform differences
Validate across OS environments.
Expected Impact
Quantitative
- Installation success rate >95%
- Installation time <10 minutes
- Fewer installation-related GitHub issues
Qualitative
- Better first impression for new users
- Reduced maintainer support load
- More reliable CI environments
- Improved contributor onboarding
Conclusion
The incomplete requirements.txt currently blocks all new users from successfully installing Ianvs. Fixing this configuration issue will significantly improve usability, credibility, and adoption with minimal code changes.
Prepared by: Aditya Kumar Singh
Date: 2026-02-17
Contact: [adityakumarsingh9031@gmail.com](mailto:adityakumarsingh9031@gmail.com)