Skip to content

502 Errors from PyPI are not surfaced #12008

@ewdurbin

Description

@ewdurbin

Description

There was a transient outage that caused 502s to be returned from PyPI's CDN edge.

Rather than surfacing this error, it appears that pip instead reported that no distributions were found:

ERROR: Could not find a version that satisfies the requirement billiard==3.6.4.0 (from versions: none)
ERROR: No matching distribution found for billiard==3.6.4.0
Error: Process completed with exit code 1.

Expected behavior

pip should surface the error and perhaps retry rather than reporting that a version is not found.

pip version

23.1.2

Python version

3.11

OS

Ubuntu GHA flavored

How to Reproduce

Attempt to pip install from an index which returns 502 on simple requests.

Observe that rather than surfacing the error, pip reports that no distributions are available.

Output

  pip install -U pip setuptools wheel
  pip install -r requirements.txt --no-deps
  pip install -r requirements/dev.txt
  pip check
  shell: /usr/bin/bash -e {0}
  env:
    BILLING_BACKEND: warehouse.subscriptions.services.MockStripeBillingService api_base=http://localhost:12111 api_version=2020-08-27
    pythonLocation: /opt/hostedtoolcache/Python/3.11.3/x64
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib
Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages (22.3.1)
Collecting pip
  Using cached pip-23.1.2-py3-none-any.whl (2.1 MB)
Requirement already satisfied: setuptools in /opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages (65.5.0)
Collecting setuptools
  Using cached setuptools-67.7.2-py3-none-any.whl (1.1 MB)
Collecting wheel
  Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
Installing collected packages: wheel, setuptools, pip
  Attempting uninstall: setuptools
    Found existing installation: setuptools 65.5.0
    Uninstalling setuptools-65.5.0:
      Successfully uninstalled setuptools-65.5.0
  Attempting uninstall: pip
    Found existing installation: pip 22.3.1
    Uninstalling pip-22.3.1:
      Successfully uninstalled pip-22.3.1
Successfully installed pip-23.1.2 setuptools-67.7.2 wheel-0.40.0
Collecting alembic==1.10.4 (from -r requirements/main.txt (line 7))
  Using cached alembic-1.10.4-py3-none-any.whl (212 kB)
Collecting amqp==5.1.1 (from -r requirements/main.txt (line 11))
  Using cached amqp-5.1.1-py3-none-any.whl (50 kB)
Collecting argon2-cffi==21.3.0 (from -r requirements/main.txt (line 15))
  Using cached argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting argon2-cffi-bindings==21.2.0 (from -r requirements/main.txt (line 19))
  Using cached argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86 kB)
Collecting asn1crypto==1.5.1 (from -r requirements/main.txt (line 42))
  Using cached asn1crypto-1.5.1-py2.py3-none-any.whl (105 kB)
Collecting async-timeout==4.0.2 (from -r requirements/main.txt (line 46))
  Using cached async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting attrs==23.1.0 (from -r requirements/main.txt (line 50))
  Using cached attrs-23.1.0-py3-none-any.whl (61 kB)
Collecting automat==22.10.0 (from -r requirements/main.txt (line 54))
  Using cached Automat-22.10.0-py2.py3-none-any.whl (26 kB)
Collecting b2sdk==1.21.0 (from -r requirements/main.txt (line 58))
  Using cached b2sdk-1.21.0-py3-none-any.whl
Collecting babel==2.12.1 (from -r requirements/main.txt (line 61))
  Using cached Babel-2.12.1-py3-none-any.whl (10.1 MB)
Collecting bcrypt==4.0.1 (from -r requirements/main.txt (line 65))
  Using cached bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl (593 kB)
ERROR: Could not find a version that satisfies the requirement billiard==3.6.4.0 (from versions: none)
ERROR: No matching distribution found for billiard==3.6.4.0
Error: Process completed with exit code 1.

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions