# WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")'

- **ID:** `python/pip-connection-timeout-pypi`
- **Domain:** python
- **Category:** network_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

Network latency or a slow/blocked connection to files.pythonhosted.org exceeds pip's default read timeout, causing repeated retries and eventual failure.

## Version Compatibility

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

## Workarounds

1. **** (85% success)
   ```
   Increase timeouts and retries: pip install --timeout 120 --retries 10 package
   ```
2. **** (90% success)
   ```
   Use a faster mirror: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package
   ```
3. **** (88% success)
   ```
   Configure globally: pip config set global.timeout 120 && pip config set global.index-url https://pypi.org/simple
   ```

## Dead Ends

- **** — The underlying network latency is unchanged; retries hit the same timeout. (80% fail)
- **** — Trusted-host only disables TLS verification; it does not affect read timeouts. (90% fail)
- **** — Removes retries but the first attempt still times out. (85% fail)
