# Installation Testing Guide This guide helps you verify that the package installation works correctly. ## Clean Installation Test ### 1. Remove Any Previous Installations ```bash # Deactivate any active virtual environment deactivate # Remove old virtual environment (if exists) rm -rf venv # Create fresh virtual environment python3 -m venv venv source venv/bin/activate # On Linux/Mac # or venv\Scripts\activate # On Windows ``` ### 2. Install the Package #### Option A: Editable/Development Install ```bash pip install -e . ``` This allows you to modify source code and see changes immediately. #### Option B: Regular Install ```bash pip install . ``` This installs the package as if it were from PyPI. ### 3. Verify Installation ```bash # Check package is installed pip list | grep microscopy # Check version microscopy-detect --version # Expected output: microscopy-object-detection 1.0.0 # Test Python import python -c "import src; print(src.__version__)" # Expected output: 1.0.0 ``` ### 4. Test Entry Points ```bash # Test CLI microscopy-detect --help # Test GUI launcher (will open window) microscopy-detect-gui ``` ### 5. Verify Package Contents ```python # Run this in Python shell import src import src.database import src.model import src.gui # Check schema file is included from pathlib import Path import src.database db_path = Path(src.database.__file__).parent schema_file = db_path / 'schema.sql' print(f"Schema file exists: {schema_file.exists()}") # Expected: Schema file exists: True ``` ## Troubleshooting ### Issue: ModuleNotFoundError **Error:** ``` ModuleNotFoundError: No module named 'src' ``` **Solution:** ```bash # Reinstall with verbose output pip install -e . -v # Or try regular install pip install . --force-reinstall ``` ### Issue: Entry Points Not Working **Error:** ``` microscopy-detect: command not found ``` **Solution:** ```bash # Check if scripts are in PATH which microscopy-detect # If not found, check pip install location pip show microscopy-object-detection # You might need to add to PATH or use full path ~/.local/bin/microscopy-detect # Linux ``` ### Issue: Import Errors for PySide6 **Error:** ``` ImportError: cannot import name 'QApplication' from 'PySide6.QtWidgets' ``` **Solution:** ```bash # Install Qt dependencies (Linux only) sudo apt-get install libxcb-xinerama0 # Reinstall PySide6 pip uninstall PySide6 pip install PySide6 ``` ### Issue: Config Files Not Found **Error:** ``` FileNotFoundError: config/app_config.yaml ``` **Solution:** The config file should be created automatically. If not: ```bash # Create config directory in your home mkdir -p ~/.microscopy-detect cp config/app_config.yaml ~/.microscopy-detect/ # Or run from source directory first time cd /home/martin/code/object_detection python main.py ``` ## Manual Testing Checklist - [ ] Package installs without errors - [ ] Version command works (`microscopy-detect --version`) - [ ] Help command works (`microscopy-detect --help`) - [ ] GUI launches (`microscopy-detect-gui`) - [ ] Can import all modules in Python - [ ] Database schema file is accessible - [ ] Configuration loads correctly ## Build and Install from Wheel ```bash # Build the package python -m build # Install from wheel pip install dist/microscopy_object_detection-1.0.0-py3-none-any.whl # Test microscopy-detect --version ``` ## Uninstall ```bash pip uninstall microscopy-object-detection ``` ## Development Workflow ### After Code Changes If installed with `-e` (editable mode): - Python code changes are immediately available - No need to reinstall If installed with regular `pip install .`: - Reinstall after changes: `pip install . --force-reinstall` ### After Adding New Files ```bash # Reinstall to include new files pip install -e . --force-reinstall ``` ## Expected Installation Output ``` Processing /home/martin/code/object_detection Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: microscopy-object-detection Building wheel for microscopy-object-detection (pyproject.toml) ... done Successfully built microscopy-object-detection Installing collected packages: microscopy-object-detection Successfully installed microscopy-object-detection-1.0.0 ``` ## Success Criteria Installation is successful when: 1. ✅ No error messages during installation 2. ✅ `pip list` shows the package 3. ✅ `microscopy-detect --version` returns correct version 4. ✅ GUI launches without errors 5. ✅ All Python modules can be imported 6. ✅ Database operations work 7. ✅ Detection functionality works ## Next Steps After Successful Install 1. Configure image repository path 2. Run first detection 3. Train a custom model 4. Export results For usage instructions, see [QUICKSTART.md](QUICKSTART.md)