This guide explains how to properly install cumulusci-plus-azure-devops and addresses common concerns about dependency management and potential conflicts.
When you install a package with pipx, it automatically installs all dependencies listed in the package's dependencies array. This includes:
cumulusci-plus>=5.0.0azure-devopsrequestshumanfriendlydistropackaging>=23.0
If you think dependencies aren't being installed, it might be because:
- Isolated Environment: pipx installs packages in isolated virtual environments, so dependencies aren't visible globally
- Network Issues: Installation failed due to connectivity problems
- Package Conflicts: Conflicting packages prevented proper installation
- Outdated pipx: Using an old version of pipx
Use our custom installation script that performs pre-installation checks:
# Download and run the installation script
curl -O https://raw.githubusercontent.com/jorgesolebur/CumulusCI_AzureDevOps/main/install.py
python install.pyThis script will:
- ✅ Check if pipx is available
- ✅ Detect conflicting packages
- ✅ Warn about potential conflicts
- ✅ Guide you through resolution steps
- ✅ Install the package with all dependencies
pipx install cumulusci-plus-azure-devopspip install cumulusci-plus-azure-devopspipx has a known limitation: it only upgrades the main package, not its dependencies. This means running pipx upgrade cumulusci-plus-azure-devops may not update cumulusci-plus, azure-devops, or other dependencies to their latest versions.
Use our custom upgrade script:
# Download and run the upgrade script
curl -O https://raw.githubusercontent.com/jorgesolebur/CumulusCI_AzureDevOps/main/upgrade.py
python upgrade.pyThe script will:
- Check current versions of all dependencies
- Offer options for standard upgrade or force reinstall
- Ensure dependencies are updated to latest versions
- Verify successful upgrade
- Provide clear feedback and next steps
# Option 1: Standard upgrade (main package only)
pipx upgrade cumulusci-plus-azure-devops
# Option 2: Force reinstall (updates dependencies)
pipx uninstall cumulusci-plus-azure-devops
pipx install cumulusci-plus-azure-devops
# Option 3: Check what needs upgrading
python upgrade.py --check-onlyWhen dependencies have security updates or important bug fixes, you need to force reinstall to get the latest versions. The upgrade script makes this process seamless.
This package is designed to work with cumulusci-plus (the next-generation CumulusCI), not the original cumulusci package. Having both installed can cause:
- Import conflicts
- Command name collisions
- Dependency version conflicts
- Unexpected behavior
The package includes runtime checks that warn users if conflicts are detected:
# This runs automatically when you import the package
WARNING: Both 'cumulusci' and 'cumulusci-plus' packages are detected.
This may cause conflicts. Please use 'cumulusci-plus' instead of 'cumulusci'.
Consider uninstalling 'cumulusci' with: pip uninstall cumulusciOur custom installation script checks for:
- Global installations of conflicting packages
- Existing pipx installations of conflicting packages
- Missing prerequisites
This guide and the README clearly explain the relationship between packages and recommended installation methods.
If you get this error:
-
Check pipx environment:
pipx list # Should show cumulusci-plus-azure-devops with its dependencies -
Verify installation:
cumulusci-ado status # Or use the short alias: cci-ado status -
Reinstall if needed:
pipx uninstall cumulusci-plus-azure-devops pipx install cumulusci-plus-azure-devops
If dependencies seem outdated after pipx upgrade:
-
Check current versions:
python upgrade.py --check-only
-
Force reinstall:
python upgrade.py --force-reinstall # Or manually: pipx uninstall cumulusci-plus-azure-devops pipx install cumulusci-plus-azure-devops
If you have conflicting packages:
-
Remove conflicting packages:
# Remove global installation pip uninstall cumulusci # Remove pipx installation pipx uninstall cumulusci
-
Clean reinstall:
pipx install cumulusci-plus-azure-devops
After installation, verify everything works:
# Check installation
pipx list | grep cumulusci
# Test the CLI commands
cumulusci-ado status
cci-ado version
# Check for conflicts (should show no warnings)
python -c "import cumulusci_ado; print('Installation successful!')"- pipx Isolation: Each package gets its own virtual environment, preventing most conflicts
- Runtime Checks: Early detection of conflicts when they do occur
- Clear Dependencies: Explicit dependency specification in
pyproject.toml - User Education: Clear documentation about proper installation methods
- Cannot prevent installation: Python packaging standards don't support pre-installation hooks
- Runtime detection only: Conflicts are detected after installation, not prevented
- User cooperation required: Users must follow recommendations to avoid conflicts
- Use pipx for CLI tools: Better isolation than pip
- Use our installation script: Includes conflict checking
- Keep packages updated: Regular updates prevent compatibility issues
- Follow migration guides: When switching between package versions
- Report issues: Help us improve conflict detection
If you encounter issues:
- Check this guide first
- Look at the main README.md
- Open an issue on GitHub with:
- Your operating system
- Python version
- Installation method used
- Error messages
- Output of
pipx list