# SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.

- **ID:** `python/setup-py-deprecated-invoke-setup`
- **Domain:** python
- **Category:** install_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

Running `python setup.py install` (or `python setup.py develop`) invokes a legacy code path that setuptools has deprecated in favor of PEP 517/518 build frontends like pip.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 3.x | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   Use pip: pip install . (pip invokes the PEP 517 build backend automatically)
   ```
2. **** (93% success)
   ```
   Build a wheel first: python -m build && pip install dist/*.whl
   ```
3. **** (94% success)
   ```
   For editable installs: pip install -e .
   ```

## Dead Ends

- **** — Suppresses the message but leaves the deprecated install path; future setuptools versions will remove it and break the build. (70% fail)
- **** — Pinning to an old setuptools breaks compatibility with modern pyproject.toml-based projects and other dependencies. (75% fail)
- **** — The --user flag does not change the deprecated code path; the warning persists and the install may still fail on modern Python. (80% fail)
