[2020-resolver] Fails if two versions with ; python_version in constraints for the same package · Issue #8724 · pypa/pip (original) (raw)

To make sure my environment doesn't interfere with anything, I created a Docker setup to test this.

/tmp/pip-issue-8724.sh:

#!/bin/bash

cat >/constraints.txt <<EOF Django==3.0.9 ; python_version >= "3.6" Django==2.2.15 ; python_version < "3.6" EOF

cd /opt/python for PYTHON in *; do echo echo $PYTHON PYTHON/bin/python−mvenv/venv−PYTHON/bin/python -m venv /venv-PYTHON/bin/pythonmvenv/venvPYTHON . /venv-$PYTHON/bin/activate pip install -q -U pip pip install -q -U "pip @ https://github.com/pypa/pip/archive/master.zip" pip install --use-feature 2020-resolver --constraint /constraints.txt Django done

Then run it in a manylinux container with Docker or Podman:

podman run \
  -v /tmp/pip-issue-8724.sh:/test.sh:Z \
  quay.io/pypa/manylinux2014_x86_64 \
  bash /test.sh

For me this outputs:

cp35-cp35m
Cache entry deserialization failed, entry ignored
ERROR: Could not find a version that satisfies the requirement Django
ERROR: No matching distribution found for Django

cp36-cp36m
ERROR: Could not find a version that satisfies the requirement Django
ERROR: No matching distribution found for Django

cp37-cp37m
ERROR: Could not find a version that satisfies the requirement Django
ERROR: No matching distribution found for Django

cp38-cp38
ERROR: Could not find a version that satisfies the requirement Django
ERROR: No matching distribution found for Django

cp39-cp39
ERROR: Could not find a version that satisfies the requirement Django
ERROR: No matching distribution found for Django