Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New resolver reports previous installation failure when building multiple sdists for the same project #8294

Closed
rouge8 opened this issue May 22, 2020 · 3 comments
Labels
state: needs reproducer Need to reproduce issue type: bug A confirmed bug or unintended behavior

Comments

@rouge8
Copy link
Contributor

rouge8 commented May 22, 2020

Using pip 20.2b1, instead of getting a helpful error message like pip check, installing incompatible dependencies errors out with a message about a pre-existing build directory.

$ pip install --unstable-feature=resolver moto idna==2.9
Collecting idna==2.9
  Using cached idna-2.9-py2.py3-none-any.whl (58 kB)
Collecting moto
  Using cached moto-1.3.14-py2.py3-none-any.whl (730 kB)
Requirement already satisfied: six>1.9 in /Users/andy/.virtualenvs/tmp-e1cf626ae9b6fe3/lib/python3.7/site-packages (from moto) (1.15.0)
Collecting moto
  Using cached moto-1.3.13.tar.gz (839 kB)
Requirement already satisfied: six>1.9 in /Users/andy/.virtualenvs/tmp-e1cf626ae9b6fe3/lib/python3.7/site-packages (from moto) (1.15.0)
Collecting moto
ERROR: pip can't proceed with requirements 'moto from https://files.pythonhosted.org/packages/b9/f1/e590b115399cc6aa858d09c44f836b13de0bbb56c9e8348747b93ef0cfbe/moto-1.3.12.tar.gz#sha256=dde8a4a0eb32f0e4b7d1c839b5ddfe2e5ba3625f417903c97b2d181f25ca2dc2' due to a pre-existing build directory (/private/var/folders/bw/ghklm2fs6bx_x9x_f0wg5kph0000gn/T/pip-install-ieqwb3b9/moto). This is likely due to a previous installation that failed. pip is being responsible and not assuming it can delete this. Please delete it and try again.

I finally figured out what was going on by installing with the legacy resolver and running pip check:

$ pip check
moto 1.3.14 has requirement idna<2.9,>=2.5, but you have idna 2.9.

pip install with the legacy resolver also showed the message ERROR: moto 1.3.14 has requirement idna<2.9,>=2.5, but you'll have idna 2.9 which is incompatible.

@triage-new-issues triage-new-issues bot added the S: needs triage Issues/PRs that need to be triaged label May 22, 2020
@uranusjr
Copy link
Member

Seems similar to the case described in #8282 (which is a reprod for pradyunsg/zazo#19 (comment)). Let’s use this as a tracking issue for the problem.

@uranusjr uranusjr added C: new resolver type: bug A confirmed bug or unintended behavior labels May 22, 2020
@triage-new-issues triage-new-issues bot removed the S: needs triage Issues/PRs that need to be triaged label May 22, 2020
@uranusjr uranusjr changed the title New resolver reports previous installation failed instead of incompatible requirements New resolver reports previous installation failure when building multiple sdists for the same project May 22, 2020
@pradyunsg
Copy link
Member

$ pip install --unstable-feature=resolver moto idna==2.9
Collecting idna==2.9
  Using cached idna-2.9-py2.py3-none-any.whl (58 kB)
Collecting moto
  Downloading moto-1.3.16-py2.py3-none-any.whl (879 kB)
     |████████████████████████████████| 879 kB 1.7 MB/s 
Requirement already satisfied: setuptools in ./lib/python3.8/site-packages (from moto) (50.3.0)
Collecting sshpubkeys>=3.1.0
  Downloading sshpubkeys-3.1.0-py2.py3-none-any.whl (12 kB)
Collecting jsondiff>=1.1.2
  Downloading jsondiff-1.2.0.tar.gz (8.0 kB)
Collecting python-jose[cryptography]<4.0.0,>=3.1.0
  Downloading python_jose-3.2.0-py2.py3-none-any.whl (26 kB)
Collecting ecdsa<0.15
  Downloading ecdsa-0.14.1-py2.py3-none-any.whl (79 kB)
     |████████████████████████████████| 79 kB 1.8 MB/s 
Collecting six>1.9
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting Jinja2>=2.10.1
  Using cached Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
Collecting MarkupSafe<2.0
  Using cached MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl (16 kB)
Processing /Users/pradyunsg/Library/Caches/pip/wheels/13/90/db/290ab3a34f2ef0b5a0f89235dc2d40fea83e77de84ed2dc05c/PyYAML-5.3.1-cp38-cp38-macosx_10_14_x86_64.whl
Collecting cryptography>=2.3.0
  Downloading cryptography-3.1-cp35-abi3-macosx_10_10_x86_64.whl (1.8 MB)
     |████████████████████████████████| 1.8 MB 1.4 MB/s 
Collecting boto>=2.36.0
  Downloading boto-2.49.0-py2.py3-none-any.whl (1.4 MB)
     |████████████████████████████████| 1.4 MB 392 kB/s 
Collecting responses>=0.9.0
  Downloading responses-0.12.0-py2.py3-none-any.whl (15 kB)
Collecting urllib3>=1.25.10
  Using cached urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
Collecting aws-xray-sdk!=0.96,>=0.93
  Downloading aws_xray_sdk-2.6.0-py2.py3-none-any.whl (94 kB)
     |████████████████████████████████| 94 kB 2.0 MB/s 
Collecting python-dateutil<3.0.0,>=2.1
  Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting cffi!=1.11.3,>=1.8
  Using cached cffi-1.14.2-cp38-cp38-macosx_10_9_x86_64.whl (176 kB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Collecting zipp
  Using cached zipp-3.1.0-py3-none-any.whl (4.9 kB)
Collecting jsonpickle
  Downloading jsonpickle-1.4.1-py2.py3-none-any.whl (36 kB)
Collecting mock
  Using cached mock-4.0.2-py3-none-any.whl (28 kB)
Collecting xmltodict
  Downloading xmltodict-0.12.0-py2.py3-none-any.whl (9.2 kB)
Collecting pyasn1
  Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Collecting rsa
  Downloading rsa-4.6-py3-none-any.whl (47 kB)
     |████████████████████████████████| 47 kB 2.2 MB/s 
Collecting more-itertools
  Using cached more_itertools-8.5.0-py3-none-any.whl (44 kB)
Collecting docker>=2.5.1
  Downloading docker-4.3.1-py2.py3-none-any.whl (145 kB)
     |████████████████████████████████| 145 kB 2.6 MB/s 
Collecting requests>=2.5
  Using cached requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting chardet<4,>=3.0.2
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
Collecting websocket-client>=0.32.0
  Downloading websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)
     |████████████████████████████████| 200 kB 1.7 MB/s 
Processing /Users/pradyunsg/Library/Caches/pip/wheels/5f/fd/9e/b6cf5890494cb8ef0b5eaff72e5d55a70fb56316007d6dfe73/wrapt-1.12.1-cp38-cp38-macosx_10_14_x86_64.whl
Collecting pytz
  Using cached pytz-2020.1-py2.py3-none-any.whl (510 kB)
Collecting importlib-metadata
  Using cached importlib_metadata-1.7.0-py2.py3-none-any.whl (31 kB)
Processing /Users/pradyunsg/Library/Caches/pip/wheels/8e/70/28/3d6ccd6e315f65f245da085482a2e1c7d14b90b30f239e2cf4/future-0.18.2-py3-none-any.whl
Collecting werkzeug
  Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting cfn-lint>=0.4.0
  Downloading cfn_lint-0.35.1-py3-none-any.whl (3.9 MB)
     |████████████████████████████████| 3.9 MB 2.1 MB/s 
Collecting junit-xml~=1.9
  Downloading junit_xml-1.9-py2.py3-none-any.whl (7.1 kB)
Collecting aws-sam-translator>=1.25.0
  Downloading aws_sam_translator-1.26.0-py3-none-any.whl (181 kB)
     |████████████████████████████████| 181 kB 1.9 MB/s 
Collecting networkx~=2.4
  Downloading networkx-2.5-py3-none-any.whl (1.6 MB)
     |████████████████████████████████| 1.6 MB 1.9 MB/s 
Collecting jsonschema~=3.0
  Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Requirement already satisfied: setuptools in ./lib/python3.8/site-packages (from moto) (50.3.0)
Collecting decorator>=4.3.0
  Using cached decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
Collecting attrs>=17.4.0
  Using cached attrs-20.2.0-py2.py3-none-any.whl (48 kB)
Collecting pyrsistent>=0.14.0
  Downloading pyrsistent-0.17.3.tar.gz (106 kB)
     |████████████████████████████████| 106 kB 1.4 MB/s 
Collecting jsonpatch
  Downloading jsonpatch-1.26-py2.py3-none-any.whl (11 kB)
Collecting jsonpointer>=1.9
  Using cached jsonpointer-2.0-py2.py3-none-any.whl (7.6 kB)
Collecting botocore>=1.12.201
  Downloading botocore-1.17.62-py2.py3-none-any.whl (6.6 MB)
     |████████████████████████████████| 6.6 MB 2.0 MB/s 
Collecting docutils<0.16,>=0.10
  Using cached docutils-0.15.2-py3-none-any.whl (547 kB)
Collecting jmespath<1.0.0,>=0.7.1
  Downloading jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
Collecting boto3>=1.9.201
  Downloading boto3-1.14.62-py2.py3-none-any.whl (129 kB)
     |████████████████████████████████| 129 kB 2.3 MB/s 
Collecting s3transfer<0.4.0,>=0.3.0
  Downloading s3transfer-0.3.3-py2.py3-none-any.whl (69 kB)
     |████████████████████████████████| 69 kB 2.6 MB/s 
Building wheels for collected packages: jsondiff, pyrsistent
  Building wheel for jsondiff (setup.py) ... done
  Created wheel for jsondiff: filename=jsondiff-1.2.0-py3-none-any.whl size=6540 sha256=efd29c7ee23062de0efd0753fdba45bb027985bdf2c40d2668aa14057aa60f18
  Stored in directory: /Users/pradyunsg/Library/Caches/pip/wheels/e0/d6/20/2604c7c4e34cc466610fbb736b96042cbc42919291a76ebaee
  Building wheel for pyrsistent (setup.py) ... done
  Created wheel for pyrsistent: filename=pyrsistent-0.17.3-cp38-cp38-macosx_10_15_x86_64.whl size=68414 sha256=86729c4fa4d8409ee5c0d14769e20c6a69de1947f17b027e310c4aeac9a9e761
  Stored in directory: /Users/pradyunsg/Library/Caches/pip/wheels/3d/22/08/7042eb6309c650c7b53615d5df5cc61f1ea9680e7edd3a08d2
Successfully built jsondiff pyrsistent
Installing collected packages: six, urllib3, python-dateutil, jmespath, docutils, botocore, zipp, s3transfer, pyrsistent, pycparser, pyasn1, attrs, rsa, jsonschema, jsonpointer, importlib-metadata, idna, ecdsa, decorator, chardet, cffi, certifi, boto3, wrapt, websocket-client, requests, PyYAML, python-jose, networkx, MarkupSafe, junit-xml, jsonpickle, jsonpatch, future, cryptography, aws-sam-translator, xmltodict, werkzeug, sshpubkeys, responses, pytz, more-itertools, mock, jsondiff, Jinja2, docker, cfn-lint, boto, aws-xray-sdk, moto
Successfully installed Jinja2-2.11.2 MarkupSafe-1.1.1 PyYAML-5.3.1 attrs-20.2.0 aws-sam-translator-1.26.0 aws-xray-sdk-2.6.0 boto-2.49.0 boto3-1.14.62 botocore-1.17.62 certifi-2020.6.20 cffi-1.14.2 cfn-lint-0.35.1 chardet-3.0.4 cryptography-3.1 decorator-4.4.2 docker-4.3.1 docutils-0.15.2 ecdsa-0.14.1 future-0.18.2 idna-2.9 importlib-metadata-1.7.0 jmespath-0.10.0 jsondiff-1.2.0 jsonpatch-1.26 jsonpickle-1.4.1 jsonpointer-2.0 jsonschema-3.2.0 junit-xml-1.9 mock-4.0.2 more-itertools-8.5.0 moto-1.3.16 networkx-2.5 pyasn1-0.4.8 pycparser-2.20 pyrsistent-0.17.3 python-dateutil-2.8.1 python-jose-3.2.0 pytz-2020.1 requests-2.24.0 responses-0.12.0 rsa-4.6 s3transfer-0.3.3 six-1.15.0 sshpubkeys-3.1.0 urllib3-1.25.10 websocket-client-0.57.0 werkzeug-1.0.1 wrapt-1.12.1 xmltodict-0.12.0 zipp-3.1.0

I can't seem to reproduce this with pip 20.2.3.

@pradyunsg pradyunsg added the state: needs reproducer Need to reproduce issue label Sep 16, 2020
@uranusjr
Copy link
Member

I think this is no longer an issue after we added a UUID to the build directory.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
state: needs reproducer Need to reproduce issue type: bug A confirmed bug or unintended behavior
Projects
None yet
Development

No branches or pull requests

3 participants