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

Same dep but with extra treated as independent #9437

Closed
altendky opened this issue Jan 9, 2021 · 4 comments
Closed

Same dep but with extra treated as independent #9437

altendky opened this issue Jan 9, 2021 · 4 comments
Labels
C: dependency resolution About choosing which dependencies to install type: enhancement Improvements to functionality

Comments

@altendky
Copy link

altendky commented Jan 9, 2021

What did you want to do?
Here is a snipped snippet of my setup.cfg to setup the scenario. Full code is certainly also available.

[options]
install_requires =
    qtrio ~=0.4.1

[options.extras_require]
pyside2 =
    pyside2 ~=5.15
    qtrio[pyside2]

When attemping to install with the pyside2 extra, this results in pip catastrophically backtracking including downloading several copies of QTrio which are less than 0.4.1.

INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
Collecting qtrio[pyside2]
  Downloading qtrio-0.4.0-py3-none-any.whl (47 kB)
  Downloading qtrio-0.3.0-py3-none-any.whl (38 kB)
  Downloading qtrio-0.2.0-py3-none-any.whl (39 kB)
  Downloading qtrio-0.1.0-py3-none-any.whl (28 kB)

Changing the extra's QTrio dependency to qtrio[pyside2] ~=0.4.1 avoids the backtracking. While I can certainly understand how this could happen, it doesn't seem proper. 0.3.0 clearly won't satisfy ~=0.4.1 so it shouldn't need to be looked at at all. I think...?

Not-working commit (newer): altendky/ssst@5b4a915
Working commit (older): altendky/ssst@dca6027

Here's a Dockerfile that shows the succeeding case, failing case, and failing with pip@master. I ran it as docker build --no-cache -t foo - < Dockerfile.txt.

Dockerfile.txt

FROM python:3.9.1-buster AS base

RUN git clone https://github.com/altendky/ssst
WORKDIR ssst
RUN pip install pip==20.3.3 setuptools==51.1.2 wheel==0.36.2
RUN pip freeze --all

FROM base AS succeed
RUN git checkout dca6027defddfa561b1d3e6400509580cfebee68
RUN pip install .[pyside2]; true

FROM base AS fail
RUN git checkout 5b4a915a1704a285698ce30b1d2ed35351081f55
RUN pip install .[pyside2]; true

FROM base AS master
RUN python -m pip install -U "pip @ https://github.com/pypa/pip/archive/master.zip"
RUN git checkout 5b4a915a1704a285698ce30b1d2ed35351081f55
RUN pip install .[pyside2]; true
FROM python:3.9.1-buster AS base
Sending build context to Docker daemon   2.56kB
Step 1/15 : FROM python:3.9.1-buster AS base
 ---> d1eef6fb8dbe
Step 2/15 : RUN git clone https://github.com/altendky/ssst
 ---> Running in 57308bed5232
Cloning into 'ssst'...
Removing intermediate container 57308bed5232
 ---> 6a731386ea8b
Step 3/15 : WORKDIR ssst
 ---> Running in 581c8a90e982
Removing intermediate container 581c8a90e982
 ---> cf946f4c5232
Step 4/15 : RUN pip install pip==20.3.3 setuptools==51.1.2 wheel==0.36.2
 ---> Running in cd5c4c7b94b0
Requirement already satisfied: pip==20.3.3 in /usr/local/lib/python3.9/site-packages (20.3.3)
Requirement already satisfied: wheel==0.36.2 in /usr/local/lib/python3.9/site-packages (0.36.2)
Collecting setuptools==51.1.2
  Downloading setuptools-51.1.2-py3-none-any.whl (784 kB)
Installing collected packages: setuptools
  Attempting uninstall: setuptools
    Found existing installation: setuptools 51.0.0
    Uninstalling setuptools-51.0.0:
      Successfully uninstalled setuptools-51.0.0
Successfully installed setuptools-51.1.2
Removing intermediate container cd5c4c7b94b0
 ---> 3100fe75f796
Step 5/15 : RUN pip freeze --all
 ---> Running in a5f7d643976a
pip==20.3.3
setuptools==51.1.2
wheel==0.36.2
Removing intermediate container a5f7d643976a
 ---> 7253d6d040df
FROM base AS succeed
Step 6/15 : FROM base AS succeed
 ---> 7253d6d040df
Step 7/15 : RUN git checkout dca6027defddfa561b1d3e6400509580cfebee68
 ---> Running in 75f97be3c5a9
Note: checking out 'dca6027defddfa561b1d3e6400509580cfebee68'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at dca6027 specify --qt-api to pytest                                                                                                                                                                                                                                                                                                                                           
Removing intermediate container 75f97be3c5a9
 ---> 956460861032
Step 8/15 : RUN pip install .[pyside2]; true
 ---> Running in b023367310a2
Processing /ssst
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting async-generator~=1.10
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting attrs~=20.3.0
  Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting click~=7.1
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting shiboken2==5.15.2
  Downloading shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (956 kB)
Collecting qtrio~=0.4.1
  Downloading qtrio-0.4.1-py3-none-any.whl (47 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (165.8 MB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of qtrio to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of shiboken2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyside2 to determine which version is compatible with other requirements. This could take a while.
Collecting shiboken2==5.15.1
  Downloading shiboken2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (941 kB)
Collecting trio>=0.16
  Downloading trio-0.17.0-py3-none-any.whl (354 kB)
Collecting typing-extensions~=3.7
  Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting decorator
  Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
Collecting idna
  Downloading idna-3.1-py3-none-any.whl (58 kB)
Collecting outcome
  Downloading outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting qtpy
  Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
Collecting sniffio
  Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting sortedcontainers
  Downloading sortedcontainers-2.3.0-py2.py3-none-any.whl (29 kB)
Building wheels for collected packages: SSST
  Building wheel for SSST (PEP 517): started
  Building wheel for SSST (PEP 517): finished with status 'done'
  Created wheel for SSST: filename=SSST-0.0.0-py3-none-any.whl size=14188 sha256=f9062dfcca91e5e9672dd82daf5615292632990af83b3a5693b56cd676ba06f5
  Stored in directory: /tmp/pip-ephem-wheel-cache-p7r2k7bw/wheels/0c/4e/46/c1e8253f025d946cf522aef808b1ee12d66bf193d5a4a3d820
Successfully built SSST
Installing collected packages: attrs, sortedcontainers, sniffio, outcome, idna, async-generator, trio, shiboken2, qtpy, decorator, typing-extensions, qtrio, pyside2, click, SSST
Successfully installed SSST-0.0.0 async-generator-1.10 attrs-20.3.0 click-7.1.2 decorator-4.4.2 idna-3.1 outcome-1.1.0 pyside2-5.15.1 qtpy-1.9.0 qtrio-0.4.1 shiboken2-5.15.1 sniffio-1.2.0 sortedcontainers-2.3.0 trio-0.17.0 typing-extensions-3.7.4.3
Removing intermediate container b023367310a2
 ---> 8a66f89ff14c
FROM base AS fail
Step 9/15 : FROM base AS fail
 ---> 7253d6d040df
Step 10/15 : RUN git checkout 5b4a915a1704a285698ce30b1d2ed35351081f55
 ---> Running in 1f7752c452c9
Note: checking out '5b4a915a1704a285698ce30b1d2ed35351081f55'.

You are in 'detached HEAD' state. You can look around, make experimental                                                                                                                                                                                                                                                                                                                    
changes and commit them, and you can discard any commits you make in this                                                                                                                                                                                                                                                                                                                   
state without impacting any branches by performing another checkout.                                                                                                                                                                                                                                                                                                                        

If you want to create a new branch to retain commits you create, you may                                                                                                                                                                                                                                                                                                                    
do so (now or later) by using -b with the checkout command again. Example:                                                                                                                                                                                                                                                                                                                  

  git checkout -b <new-branch-name>                                                                                                                                                                                                                                                                                                                                                         

HEAD is now at 5b4a915 removing repetitive ~=0.4.1 results in backtracking                                                                                                                                                                                                                                                                                                                  
Removing intermediate container 1f7752c452c9
 ---> 567f85829bf0
Step 11/15 : RUN pip install .[pyside2]; true
 ---> Running in fc4efdfe486a
Processing /ssst
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting async-generator~=1.10
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting attrs~=20.3.0
  Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting click~=7.1
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting shiboken2==5.15.2
  Downloading shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (956 kB)
Collecting qtrio~=0.4.1
  Downloading qtrio-0.4.1-py3-none-any.whl (47 kB)
Collecting trio>=0.16
  Downloading trio-0.17.0-py3-none-any.whl (354 kB)
Collecting typing-extensions~=3.7
  Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting decorator
  Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
Collecting idna
  Downloading idna-3.1-py3-none-any.whl (58 kB)
Collecting outcome
  Downloading outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting qtpy
  Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (165.8 MB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
Collecting qtrio[pyside2]
  Downloading qtrio-0.4.0-py3-none-any.whl (47 kB)
  Downloading qtrio-0.3.0-py3-none-any.whl (38 kB)
  Downloading qtrio-0.2.0-py3-none-any.whl (39 kB)
  Downloading qtrio-0.1.0-py3-none-any.whl (28 kB)
INFO: pip is looking at multiple versions of qtpy to determine which version is compatible with other requirements. This could take a while.
Collecting qtpy
  Downloading QtPy-1.8.0-py2.py3-none-any.whl (53 kB)
  Downloading QtPy-1.7.1-py2.py3-none-any.whl (45 kB)
  Downloading QtPy-1.7.0-py2.py3-none-any.whl (45 kB)
  Downloading QtPy-1.6.0-py2.py3-none-any.whl (43 kB)
  Downloading QtPy-1.5.2-py2.py3-none-any.whl (42 kB)
  Downloading QtPy-1.5.1-py2.py3-none-any.whl (40 kB)
  Downloading QtPy-1.5.0-py2.py3-none-any.whl (40 kB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of qtpy to determine which version is compatible with other requirements. This could take a while.
  Downloading QtPy-1.4.2-py2.py3-none-any.whl (32 kB)
  Downloading QtPy-1.4.1-py2.py3-none-any.whl (33 kB)
  Downloading QtPy-1.4.0-py2.py3-none-any.whl (35 kB)
  Downloading QtPy-1.3.1-py2.py3-none-any.whl (32 kB)
  Downloading QtPy-1.3.0-py2.py3-none-any.whl (32 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading QtPy-1.2.1-py2.py3-none-any.whl (21 kB)
  Downloading QtPy-1.2.0-py2.py3-none-any.whl (21 kB)
  Downloading QtPy-1.1.2-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.1.1-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.1.0-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.0.2-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-1.0.1-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-1.0-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-0.1.3-py2.py3-none-any.whl (13 kB)
  Downloading QtPy-0.1.2.tar.gz (6.7 kB)
  Downloading QtPy-0.1.1.tar.gz (6.7 kB)
INFO: pip is looking at multiple versions of outcome to determine which version is compatible with other requirements. This could take a while.
Collecting outcome
  Downloading outcome-1.0.1-py2.py3-none-any.whl (10 kB)
  Downloading outcome-1.0.0-py2.py3-none-any.whl (5.1 kB)
  Downloading outcome-0.1.0-py2.py3-none-any.whl (4.9 kB)
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
Collecting idna
  Downloading idna-3.0-py2.py3-none-any.whl (58 kB)
INFO: pip is looking at multiple versions of outcome to determine which version is compatible with other requirements. This could take a while.
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.9-py2.py3-none-any.whl (58 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading idna-2.8-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.7-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.6-py2.py3-none-any.whl (56 kB)
  Downloading idna-2.5-py2.py3-none-any.whl (55 kB)
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
  Downloading idna-2.4-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.3-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.2-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.1-py2.py3-none-any.whl (54 kB)
  Downloading idna-2.0-py2.py3-none-any.whl (61 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading idna-1.1.tar.gz (99 kB)
  Downloading idna-1.0.tar.gz (99 kB)
  Downloading idna-0.9.tar.gz (97 kB)
  Downloading idna-0.8.tar.gz (95 kB)
  Downloading idna-0.7.tar.gz (20 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-wdbysj8_/idna_37a976a9809c47d08873e053062ca899/setup.py'"'"'; __file__='"'"'/tmp/pip-install-wdbysj8_/idna_37a976a9809c47d08873e053062ca899/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-50bhkuef                                                                                                                                                                                                                                                                                             
         cwd: /tmp/pip-install-wdbysj8_/idna_37a976a9809c47d08873e053062ca899/                                                                                                                                                                                                                                                                                                              
    Complete output (7 lines):                                                                                                                                                                                                                                                                                                                                                              
    Traceback (most recent call last):                                                                                                                                                                                                                                                                                                                                                      
      File "<string>", line 1, in <module>                                                                                                                                                                                                                                                                                                                                                  
      File "/tmp/pip-install-wdbysj8_/idna_37a976a9809c47d08873e053062ca899/setup.py", line 51, in <module>                                                                                                                                                                                                                                                                                 
        main()                                                                                                                                                                                                                                                                                                                                                                              
      File "/tmp/pip-install-wdbysj8_/idna_37a976a9809c47d08873e053062ca899/setup.py", line 25, in main                                                                                                                                                                                                                                                                                     
        'long_description': open("README.rst").read(),                                                                                                                                                                                                                                                                                                                                      
    FileNotFoundError: [Errno 2] No such file or directory: 'README.rst'                                                                                                                                                                                                                                                                                                                    
    ----------------------------------------                                                                                                                                                                                                                                                                                                                                                
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.                                                                                                                                                                                                                                                                             
Removing intermediate container fc4efdfe486a
 ---> 4dc7be6174d9
FROM base AS master
Step 12/15 : FROM base AS master
 ---> 7253d6d040df
Step 13/15 : RUN python -m pip install -U "pip @ https://github.com/pypa/pip/archive/master.zip"
 ---> Running in 0d0dda0c2ff9
Collecting pip@ https://github.com/pypa/pip/archive/master.zip
  Downloading https://github.com/pypa/pip/archive/master.zip
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Building wheels for collected packages: pip
  Building wheel for pip (PEP 517): started
  Building wheel for pip (PEP 517): finished with status 'done'
  Created wheel for pip: filename=pip-21.0.dev0-py3-none-any.whl size=1499749 sha256=b503e346847f284c42df69e0c448917a888312e05a0a34ec336807ed763ef551
  Stored in directory: /tmp/pip-ephem-wheel-cache-iy10ajcs/wheels/38/85/75/f19c0859fa2de7c73cf5827df81a11f4005a88640a64526b3e
Successfully built pip
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.3.3
    Uninstalling pip-20.3.3:
      Successfully uninstalled pip-20.3.3
Successfully installed pip-21.0.dev0
Removing intermediate container 0d0dda0c2ff9
 ---> 555b806008e3
Step 14/15 : RUN git checkout 5b4a915a1704a285698ce30b1d2ed35351081f55
 ---> Running in 75f8b820fd20
Note: checking out '5b4a915a1704a285698ce30b1d2ed35351081f55'.

You are in 'detached HEAD' state. You can look around, make experimental                                                                                                                                                                                                                                                                                                                    
changes and commit them, and you can discard any commits you make in this                                                                                                                                                                                                                                                                                                                   
state without impacting any branches by performing another checkout.                                                                                                                                                                                                                                                                                                                        

If you want to create a new branch to retain commits you create, you may                                                                                                                                                                                                                                                                                                                    
do so (now or later) by using -b with the checkout command again. Example:                                                                                                                                                                                                                                                                                                                  

  git checkout -b <new-branch-name>                                                                                                                                                                                                                                                                                                                                                         

HEAD is now at 5b4a915 removing repetitive ~=0.4.1 results in backtracking                                                                                                                                                                                                                                                                                                                  
Removing intermediate container 75f8b820fd20
 ---> 29a1ede2091a
Step 15/15 : RUN pip install .[pyside2]; true
 ---> Running in 0b99b888f0d5
Processing /ssst
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting click~=7.1
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting attrs~=20.3.0
  Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting qtrio~=0.4.1
  Downloading qtrio-0.4.1-py3-none-any.whl (47 kB)
Collecting async-generator~=1.10
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting typing-extensions~=3.7
  Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting shiboken2==5.15.2
  Downloading shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (956 kB)
Collecting decorator
  Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
Collecting qtpy
  Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
Collecting trio>=0.16
  Downloading trio-0.17.0-py3-none-any.whl (354 kB)
Collecting outcome
  Downloading outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting sortedcontainers
  Downloading sortedcontainers-2.3.0-py2.py3-none-any.whl (29 kB)
Collecting sniffio
  Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting idna
  Downloading idna-3.1-py3-none-any.whl (58 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (165.8 MB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
Collecting qtrio[pyside2]
  Downloading qtrio-0.4.1.tar.gz (54 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
  Downloading qtrio-0.4.0-py3-none-any.whl (47 kB)
  Downloading qtrio-0.4.0.tar.gz (54 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
  Downloading qtrio-0.3.0-py3-none-any.whl (38 kB)
  Downloading qtrio-0.3.0.tar.gz (44 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
  Downloading qtrio-0.2.0-py3-none-any.whl (39 kB)
  Downloading qtrio-0.2.0.tar.gz (45 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
  Downloading qtrio-0.1.0-py3-none-any.whl (28 kB)
  Downloading qtrio-0.1.0.tar.gz (31 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
INFO: pip is looking at multiple versions of qtpy to determine which version is compatible with other requirements. This could take a while.
Collecting qtpy
  Downloading QtPy-1.9.0.tar.gz (35 kB)
  Downloading QtPy-1.8.0-py2.py3-none-any.whl (53 kB)
  Downloading QtPy-1.8.0.tar.gz (34 kB)
  Downloading QtPy-1.7.1-py2.py3-none-any.whl (45 kB)
  Downloading QtPy-1.7.1.tar.gz (31 kB)
  Downloading QtPy-1.7.0-py2.py3-none-any.whl (45 kB)
  Downloading QtPy-1.7.0.tar.gz (31 kB)
  Downloading QtPy-1.6.0-py2.py3-none-any.whl (43 kB)
  Downloading QtPy-1.6.0.tar.gz (30 kB)
  Downloading QtPy-1.5.2-py2.py3-none-any.whl (42 kB)
  Downloading QtPy-1.5.2.tar.gz (30 kB)
  Downloading QtPy-1.5.1-py2.py3-none-any.whl (40 kB)
  Downloading QtPy-1.5.1.tar.gz (30 kB)
  Downloading QtPy-1.5.0-py2.py3-none-any.whl (40 kB)
  Downloading QtPy-1.5.0.tar.gz (30 kB)
  Downloading QtPy-1.4.2-py2.py3-none-any.whl (32 kB)
  Downloading QtPy-1.4.2.tar.gz (27 kB)
  Downloading QtPy-1.4.1-py2.py3-none-any.whl (33 kB)
  Downloading QtPy-1.4.1.tar.gz (27 kB)
  Downloading QtPy-1.4.0-py2.py3-none-any.whl (35 kB)
  Downloading QtPy-1.4.0.tar.gz (27 kB)
  Downloading QtPy-1.3.1-py2.py3-none-any.whl (32 kB)
  Downloading QtPy-1.3.1.tar.gz (25 kB)
  Downloading QtPy-1.3.0-py2.py3-none-any.whl (32 kB)
  Downloading QtPy-1.3.0.tar.gz (46 kB)
  Downloading QtPy-1.2.1-py2.py3-none-any.whl (21 kB)
  Downloading QtPy-1.2.1.tar.gz (29 kB)
  Downloading QtPy-1.2.0-py2.py3-none-any.whl (21 kB)
  Downloading QtPy-1.2.0.tar.gz (18 kB)
  Downloading QtPy-1.1.2-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.1.2.tar.gz (14 kB)
  Downloading QtPy-1.1.1-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.1.1.tar.gz (12 kB)
  Downloading QtPy-1.1.0-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.1.0.tar.gz (12 kB)
  Downloading QtPy-1.0.2-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-1.0.2.tar.gz (8.6 kB)
  Downloading QtPy-1.0.1-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-1.0.1.tar.gz (8.6 kB)
  Downloading QtPy-1.0-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-1.0.tar.gz (8.6 kB)
  Downloading QtPy-0.1.3-py2.py3-none-any.whl (13 kB)
  Downloading QtPy-0.1.3.tar.gz (8.3 kB)
  Downloading QtPy-0.1.2.tar.gz (6.7 kB)
  Downloading QtPy-0.1.1.tar.gz (6.7 kB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of qtpy to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: pip is looking at multiple versions of outcome to determine which version is compatible with other requirements. This could take a while.
Collecting outcome
  Downloading outcome-1.1.0.tar.gz (18 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
  Downloading outcome-1.0.1-py2.py3-none-any.whl (10 kB)
  Downloading outcome-1.0.1.tar.gz (16 kB)
  Downloading outcome-1.0.0-py2.py3-none-any.whl (5.1 kB)
  Downloading outcome-1.0.0.tar.gz (17 kB)
  Downloading outcome-0.1.0-py2.py3-none-any.whl (4.9 kB)
  Downloading outcome-0.1.0.tar.gz (16 kB)
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
Collecting idna
  Downloading idna-3.1.tar.gz (181 kB)
  Downloading idna-3.0-py2.py3-none-any.whl (58 kB)
  Downloading idna-3.0.tar.gz (180 kB)
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.10.tar.gz (175 kB)
  Downloading idna-2.9-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.9.tar.gz (175 kB)
  Downloading idna-2.8-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.8.tar.gz (174 kB)
  Downloading idna-2.7-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.7.tar.gz (172 kB)
  Downloading idna-2.6-py2.py3-none-any.whl (56 kB)
  Downloading idna-2.6.tar.gz (135 kB)
  Downloading idna-2.5-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.5.tar.gz (130 kB)
  Downloading idna-2.4-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.4.tar.gz (130 kB)
  Downloading idna-2.3-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.3.tar.gz (130 kB)
  Downloading idna-2.2-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.2.tar.gz (130 kB)
  Downloading idna-2.1-py2.py3-none-any.whl (54 kB)
  Downloading idna-2.1.tar.gz (128 kB)
  Downloading idna-2.0-py2.py3-none-any.whl (61 kB)
  Downloading idna-2.0.tar.gz (135 kB)
  Downloading idna-1.1.tar.gz (99 kB)
  Downloading idna-1.0.tar.gz (99 kB)
  Downloading idna-0.9.tar.gz (97 kB)
  Downloading idna-0.8.tar.gz (95 kB)
  Downloading idna-0.7.tar.gz (20 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-e3n393t6/idna_ea3732f988a446e38b8be2801209e653/setup.py'"'"'; __file__='"'"'/tmp/pip-install-e3n393t6/idna_ea3732f988a446e38b8be2801209e653/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-mo6mvvl7                                                                                                                                                                                                                                                                                             
         cwd: /tmp/pip-install-e3n393t6/idna_ea3732f988a446e38b8be2801209e653/                                                                                                                                                                                                                                                                                                              
    Complete output (7 lines):                                                                                                                                                                                                                                                                                                                                                              
    Traceback (most recent call last):                                                                                                                                                                                                                                                                                                                                                      
      File "<string>", line 1, in <module>                                                                                                                                                                                                                                                                                                                                                  
      File "/tmp/pip-install-e3n393t6/idna_ea3732f988a446e38b8be2801209e653/setup.py", line 51, in <module>                                                                                                                                                                                                                                                                                 
        main()                                                                                                                                                                                                                                                                                                                                                                              
      File "/tmp/pip-install-e3n393t6/idna_ea3732f988a446e38b8be2801209e653/setup.py", line 25, in main                                                                                                                                                                                                                                                                                     
        'long_description': open("README.rst").read(),                                                                                                                                                                                                                                                                                                                                      
    FileNotFoundError: [Errno 2] No such file or directory: 'README.rst'                                                                                                                                                                                                                                                                                                                    
    ----------------------------------------                                                                                                                                                                                                                                                                                                                                                
WARNING: Discarding https://files.pythonhosted.org/packages/cf/57/53ac056e1a9d028dfce896929d0fc769e53a1e4d0917c2ec163acae4528f/idna-0.7.tar.gz#sha256=bd053a6d0e5231bec41da6ef524369d64dc9a7f27c5075914ae1b1abc4dd33e5 (from https://pypi.org/simple/idna/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.                       
  Downloading idna-0.6.tar.gz (18 kB)
  Downloading idna-0.5.tar.gz (18 kB)
  Downloading idna-0.4.tar.gz (17 kB)
  Downloading idna-0.3.tar.gz (17 kB)
  Downloading idna-0.2.tar.gz (18 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-e3n393t6/idna_83a63459469944c896804c497fc88452/setup.py'"'"'; __file__='"'"'/tmp/pip-install-e3n393t6/idna_83a63459469944c896804c497fc88452/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-1xv0ixow                                                                                                                                                                                                                                                                                             
         cwd: /tmp/pip-install-e3n393t6/idna_83a63459469944c896804c497fc88452/                                                                                                                                                                                                                                                                                                              
    Complete output (1 lines):                                                                                                                                                                                                                                                                                                                                                              
    Sorry, Python 3 not yet supported                                                                                                                                                                                                                                                                                                                                                       
    ----------------------------------------                                                                                                                                                                                                                                                                                                                                                
WARNING: Discarding https://files.pythonhosted.org/packages/22/35/04dedec60e9366ba19ac7c147cd715c88a7e87d43cda47a75802190c0950/idna-0.2.tar.gz#sha256=e28fdff4b1d47edd13e053399f642818d2f591cb9c215eb626bde6b14d6f4575 (from https://pypi.org/simple/idna/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.                       
INFO: pip is looking at multiple versions of outcome to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: pip is looking at multiple versions of decorator to determine which version is compatible with other requirements. This could take a while.
Collecting decorator
  Downloading decorator-4.4.2.tar.gz (33 kB)
  Downloading decorator-4.4.1-py2.py3-none-any.whl (9.2 kB)
  Downloading decorator-4.4.1.tar.gz (33 kB)
  Downloading decorator-4.4.0-py2.py3-none-any.whl (8.3 kB)
  Downloading decorator-4.4.0.tar.gz (34 kB)
  Downloading decorator-4.3.2-py2.py3-none-any.whl (9.1 kB)
  Downloading decorator-4.3.2.tar.gz (34 kB)
  Downloading decorator-4.3.1-py2.py3-none-any.whl (8.8 kB)
  Downloading decorator-4.3.1.tar.gz (34 kB)
  Downloading decorator-4.3.0-py2.py3-none-any.whl (9.2 kB)
  Downloading decorator-4.3.0.tar.gz (33 kB)
  Downloading decorator-4.2.1-py2.py3-none-any.whl (9.3 kB)
  Downloading decorator-4.2.1.tar.gz (33 kB)
  Downloading decorator-4.1.2-py2.py3-none-any.whl (9.1 kB)
  Downloading decorator-4.1.2.tar.gz (32 kB)
  Downloading decorator-4.1.1-py2.py3-none-any.whl (9.0 kB)
  Downloading decorator-4.1.1.tar.gz (31 kB)
  Downloading decorator-4.1.0-py2.py3-none-any.whl (9.0 kB)
  Downloading decorator-4.1.0.tar.gz (73 kB)
  Downloading decorator-4.0.11-py2.py3-none-any.whl (8.9 kB)
  Downloading decorator-4.0.11.tar.gz (70 kB)
  Downloading decorator-4.0.10-py2.py3-none-any.whl (9.2 kB)
  Downloading decorator-4.0.10.tar.gz (68 kB)
  Downloading decorator-4.0.9-py2.py3-none-any.whl (22 kB)
  Downloading decorator-4.0.9.tar.gz (68 kB)
  Downloading decorator-4.0.6-py2.py3-none-any.whl (21 kB)
  Downloading decorator-4.0.6.tar.gz (68 kB)
  Downloading decorator-4.0.4-py2.py3-none-any.whl (8.7 kB)
  Downloading decorator-4.0.4.tar.gz (67 kB)
  Downloading decorator-4.0.3-py2.py3-none-any.whl (8.5 kB)
  Downloading decorator-4.0.3.tar.gz (66 kB)
  Downloading decorator-4.0.2-py2.py3-none-any.whl (8.5 kB)
  Downloading decorator-4.0.2.tar.gz (64 kB)
  Downloading decorator-4.0.1-py2.py3-none-any.whl (8.5 kB)
  Downloading decorator-4.0.1.tar.gz (66 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-e3n393t6/decorator_efc28036360842a99ee34439c04c29a3/setup.py'"'"'; __file__='"'"'/tmp/pip-install-e3n393t6/decorator_efc28036360842a99ee34439c04c29a3/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-jnhf17z_
         cwd: /tmp/pip-install-e3n393t6/decorator_efc28036360842a99ee34439c04c29a3/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-e3n393t6/decorator_efc28036360842a99ee34439c04c29a3/setup.py", line 12, in <module>
        long_description=open('docs/README.rst').read(),
    FileNotFoundError: [Errno 2] No such file or directory: 'docs/README.rst'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/34/2b/ab9649b98c1ac3e3f0a070ff76896eeaa1144cbe8bab02b4711738478526/decorator-4.0.1.tar.gz#sha256=671fe2ca0c80eecd7ae3807492875fb2e0eb376d314cf15a535b17adbbe507b2 (from https://pypi.org/simple/decorator/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading decorator-4.0.0-py2.py3-none-any.whl (8.6 kB)
  Downloading decorator-4.0.0.tar.gz (80 kB)
  Downloading decorator-3.4.2.tar.gz (6.1 kB)
  Downloading decorator-3.4.0.tar.gz (30 kB)
  Downloading decorator-3.3.3.tar.gz (28 kB)
  Downloading decorator-3.3.2.tar.gz (28 kB)
  Downloading decorator-3.3.1.tar.gz (28 kB)
INFO: pip is looking at multiple versions of decorator to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: pip is looking at multiple versions of typing-extensions to determine which version is compatible with other requirements. This could take a while.
Collecting typing-extensions~=3.7
  Downloading typing_extensions-3.7.4.3.tar.gz (38 kB)
  Downloading typing_extensions-3.7.4.2-py3-none-any.whl (22 kB)
  Downloading typing_extensions-3.7.4.2.tar.gz (38 kB)
  Downloading typing_extensions-3.7.4.1-py3-none-any.whl (20 kB)
  Downloading typing_extensions-3.7.4.1.tar.gz (36 kB)
  Downloading typing_extensions-3.7.4-py3-none-any.whl (20 kB)
  Downloading typing_extensions-3.7.4.tar.gz (36 kB)
  Downloading typing_extensions-3.7.2-py3-none-any.whl (16 kB)
  Downloading typing_extensions-3.7.2.tar.gz (34 kB)
^C  <after a couple hours>

Additional information

pipdeptree etc
$ git checkout dca6027defddfa561b1d3e6400509580cfebee68
HEAD is now at dca6027 specify --qt-api to pytest
$ rm -rf venv
$ python3.9 -m venv venv
$ venv/bin/pip install --upgrade pip setuptools wheel
Collecting pip
  Using cached pip-20.3.3-py2.py3-none-any.whl (1.5 MB)
Collecting setuptools
  Using cached setuptools-51.1.2-py3-none-any.whl (784 kB)
Collecting wheel
  Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Installing collected packages: pip, setuptools, wheel
  Attempting uninstall: pip
    Found existing installation: pip 20.2.3
    Uninstalling pip-20.2.3:
      Successfully uninstalled pip-20.2.3
  Attempting uninstall: setuptools
    Found existing installation: setuptools 49.2.1
    Uninstalling setuptools-49.2.1:
      Successfully uninstalled setuptools-49.2.1
Successfully installed pip-20.3.3 setuptools-51.1.2 wheel-0.36.2
$ venv/bin/pip freeze --all
pip==20.3.3
setuptools==51.1.2
wheel==0.36.2
$ venv/bin/pip install .[pyside2]
Processing /epc/repos/ssst
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting async-generator~=1.10
  Using cached async_generator-1.10-py3-none-any.whl (18 kB)
Collecting attrs~=20.3.0
  Using cached attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting click~=7.1
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting pyside2~=5.15
  Using cached PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting shiboken2==5.15.2
  Using cached shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (956 kB)
Collecting qtrio~=0.4.1
  Using cached qtrio-0.4.1-py3-none-any.whl (47 kB)
Collecting pyside2~=5.15
  Using cached PySide2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (165.8 MB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of qtrio to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of shiboken2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyside2 to determine which version is compatible with other requirements. This could take a while.
Collecting shiboken2==5.15.1
  Using cached shiboken2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (941 kB)
Collecting trio>=0.16
  Using cached trio-0.17.0-py3-none-any.whl (354 kB)
Collecting typing-extensions~=3.7
  Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting decorator
  Using cached decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
Collecting idna
  Using cached idna-3.1-py3-none-any.whl (58 kB)
Collecting outcome
  Using cached outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting qtpy
  Using cached QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
Collecting sniffio
  Using cached sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting sortedcontainers
  Using cached sortedcontainers-2.3.0-py2.py3-none-any.whl (29 kB)
Building wheels for collected packages: SSST
  Building wheel for SSST (PEP 517) ... done
  Created wheel for SSST: filename=SSST-0.0.0-py3-none-any.whl size=20399 sha256=c6ee7d99acc6c274a85396aa3cc42309f7c2e0076f69418856856a7396c8dfae
  Stored in directory: /tmp/pip-ephem-wheel-cache-b2eooyd4/wheels/b7/7f/ab/7174deaa21f0b3e8293874f4c1455e9102fa034ec112e0fb8e
Successfully built SSST
Installing collected packages: attrs, sortedcontainers, sniffio, outcome, idna, async-generator, trio, shiboken2, qtpy, decorator, typing-extensions, qtrio, pyside2, click, SSST
Successfully installed SSST-0.0.0 async-generator-1.10 attrs-20.3.0 click-7.1.2 decorator-4.4.2 idna-3.1 outcome-1.1.0 pyside2-5.15.1 qtpy-1.9.0 qtrio-0.4.1 shiboken2-5.15.1 sniffio-1.2.0 sortedcontainers-2.3.0 trio-0.17.0 typing-extensions-3.7.4.3
$ venv/bin/pip install pipdeptree
Collecting pipdeptree
  Using cached pipdeptree-2.0.0-py3-none-any.whl (21 kB)
Requirement already satisfied: pip>=6.0.0 in ./venv/lib/python3.9/site-packages (from pipdeptree) (20.3.3)
Installing collected packages: pipdeptree
Successfully installed pipdeptree-2.0.0
$ venv/bin/pip freeze --all
async-generator==1.10
attrs==20.3.0
click==7.1.2
decorator==4.4.2
idna==3.1
outcome==1.1.0
pip==20.3.3
pipdeptree==2.0.0
PySide2==5.15.1
QtPy==1.9.0
qtrio==0.4.1
setuptools==51.1.2
shiboken2==5.15.1
sniffio==1.2.0
sortedcontainers==2.3.0
SSST @ file:///epc/repos/ssst
trio==0.17.0
typing-extensions==3.7.4.3
wheel==0.36.2
$ venv/bin/pipdeptree
pipdeptree==2.0.0
  - pip [required: >=6.0.0, installed: 20.3.3]
PySide2==5.15.1
  - shiboken2 [required: ==5.15.1, installed: 5.15.1]
setuptools==51.1.2
SSST==0.0.0
  - async-generator [required: ~=1.10, installed: 1.10]
  - attrs [required: ~=20.3.0, installed: 20.3.0]
  - click [required: ~=7.1, installed: 7.1.2]
  - qtrio [required: ~=0.4.1, installed: 0.4.1]
    - async-generator [required: Any, installed: 1.10]
    - attrs [required: Any, installed: 20.3.0]
    - decorator [required: Any, installed: 4.4.2]
    - outcome [required: Any, installed: 1.1.0]
      - attrs [required: >=19.2.0, installed: 20.3.0]
    - qtpy [required: Any, installed: 1.9.0]
    - trio [required: >=0.16, installed: 0.17.0]
      - async-generator [required: >=1.9, installed: 1.10]
      - attrs [required: >=19.2.0, installed: 20.3.0]
      - idna [required: Any, installed: 3.1]
      - outcome [required: Any, installed: 1.1.0]
        - attrs [required: >=19.2.0, installed: 20.3.0]
      - sniffio [required: Any, installed: 1.2.0]
      - sortedcontainers [required: Any, installed: 2.3.0]
  - typing-extensions [required: ~=3.7, installed: 3.7.4.3]
wheel==0.36.2
@uranusjr
Copy link
Member

The reason to this is actually the same as #8785. The resolver does “know” about qtrio~=0.4.1 when resolving qtrio[pyside2], but it does not know it should use the specifier on the extra-ed requirement.

This is difficult because the way resolution works is sort of like breaking the problem apart and try to solve each piece separately (how efficient the solution is mostly depends on how good you can break the thing apart). Extras are basically a backdoor to that, they produce things that can affect multiple pieces and make it difficult to reasonably break the problem into bite-chunk pieces in a pre-determined way.

@altendky
Copy link
Author

I figured it was something like that. Thanks for taking the time to look this over. Not sure if you looked through my setup.cfg but I certainly do use extras extensively. It seems like a good place to stick the info and, in the case of PySide2, is the closest I have come up with to being able to describe constraints as opposed to requirements.

Anyways, the workaround isn't super hard and I know one thing to look for if I hit the backtracking again.

Thanks.

@uranusjr uranusjr added C: dependency resolution About choosing which dependencies to install C: new resolver type: enhancement Improvements to functionality labels Jan 10, 2021
@uranusjr
Copy link
Member

uranusjr commented Mar 7, 2021

Combining this into #8785.

@uranusjr uranusjr closed this as completed Mar 7, 2021
altendky added a commit to altendky/ssst that referenced this issue Jul 5, 2021
@altendky
Copy link
Author

altendky commented Jul 5, 2021

While #8785 has been closed by #9775, the issue reported here continues with pip 21.1.3. That said, it does appear to be fixed on main at least as of f37fc4c. Just documenting for the record since I was checking on it again. I haven't tracked down the commit that fixes this but thanks to the author and all others. :]

Dockerfile.txt

FROM python:3.9.1-buster AS base

RUN apt-get update; apt-get install --yes coreutils
RUN git clone https://github.com/altendky/ssst
WORKDIR ssst
RUN pip install pip==21.1.3 setuptools==57.1.0 wheel==0.36.2
RUN pip freeze --all

FROM base AS succeed
RUN git checkout 1e23bf26a47b48d714ae643f5d8af95394172464
RUN timeout 120 pip install .[pyside2]; true

FROM base AS fail
RUN git checkout 9063449c61ca4e6942508b2fc343ba7585539f99
RUN timeout 120 pip install .[pyside2]; true

FROM base AS master
RUN python -m pip install -U "pip @ https://github.com/pypa/pip/archive/f37fc4c3e80acea52444ec34db3bdfffab9d9618.zip"
RUN git checkout 9063449c61ca4e6942508b2fc343ba7585539f99
RUN timeout 120 pip install .[pyside2]; true
$ docker build --no-cache -t foo - < Dockerfile.txt
FROM python:3.9.1-buster AS base
Sending build context to Docker daemon   2.56kB
Step 1/16 : FROM python:3.9.1-buster AS base
 ---> 2a93c239d591
Step 2/16 : RUN apt-get update; apt-get install --yes coreutils
 ---> Running in cdae5e4e4472
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [293 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [15.2 kB]
Fetched 8454 kB in 2s (5206 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
coreutils is already the newest version (8.30-3).
coreutils set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 60 not upgraded.
Removing intermediate container cdae5e4e4472
 ---> 023b6c36fdbc
Step 3/16 : RUN git clone https://github.com/altendky/ssst
 ---> Running in 6f9bf6ee5230
Cloning into 'ssst'...
Removing intermediate container 6f9bf6ee5230
 ---> c807d81ab594
Step 4/16 : WORKDIR ssst
 ---> Running in 0befbf824202
Removing intermediate container 0befbf824202
 ---> d66de4deabbf
Step 5/16 : RUN pip install pip==21.1.3 setuptools==57.1.0 wheel==0.36.2
 ---> Running in a9bb111e92fe
Collecting pip==21.1.3
  Downloading pip-21.1.3-py3-none-any.whl (1.5 MB)
Collecting setuptools==57.1.0
  Downloading setuptools-57.1.0-py3-none-any.whl (818 kB)
Requirement already satisfied: wheel==0.36.2 in /usr/local/lib/python3.9/site-packages (0.36.2)
Installing collected packages: setuptools, pip
  Attempting uninstall: setuptools
    Found existing installation: setuptools 53.0.0
    Uninstalling setuptools-53.0.0:
      Successfully uninstalled setuptools-53.0.0
  Attempting uninstall: pip
    Found existing installation: pip 21.0.1
    Uninstalling pip-21.0.1:
      Successfully uninstalled pip-21.0.1
Successfully installed pip-21.1.3 setuptools-57.1.0
Removing intermediate container a9bb111e92fe
 ---> ec2ec8ef8bb5
Step 6/16 : RUN pip freeze --all
 ---> Running in 93da536621c4
pip==21.1.3
setuptools==57.1.0
wheel==0.36.2
Removing intermediate container 93da536621c4
 ---> 939d95b6ef48
FROM base AS succeed
Step 7/16 : FROM base AS succeed
 ---> 939d95b6ef48
Step 8/16 : RUN git checkout 1e23bf26a47b48d714ae643f5d8af95394172464
 ---> Running in 50cc2655fcbc
Note: checking out '1e23bf26a47b48d714ae643f5d8af95394172464'.

You are in 'detached HEAD' state. You can look around, make experimental                                                                                                                                                                                              
changes and commit them, and you can discard any commits you make in this                                                                                                                                                                                             
state without impacting any branches by performing another checkout.                                                                                                                                                                                                  

If you want to create a new branch to retain commits you create, you may                                                                                                                                                                                              
do so (now or later) by using -b with the checkout command again. Example:                                                                                                                                                                                            

  git checkout -b <new-branch-name>                                                                                                                                                                                                                                   

HEAD is now at 1e23bf2 Merge pull request #54 from altendky/use_sundog                                                                                                                                                                                                
Removing intermediate container 50cc2655fcbc
 ---> c4d1218a67f0
Step 9/16 : RUN timeout 120 pip install .[pyside2]; true
 ---> Running in a30efd8939e2
Processing /ssst
  DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
   pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.                                                                                                                            
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting pymodbus@ https://github.com/altendky/pymodbus/archive/83bf25071bdf56ece257e2e113a63dccf6bd692a.zip
  Downloading https://github.com/altendky/pymodbus/archive/83bf25071bdf56ece257e2e113a63dccf6bd692a.zip
Collecting click~=7.1
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting qtrio~=0.4.1
  Downloading qtrio-0.4.2-py3-none-any.whl (49 kB)
Collecting attrs~=20.3.0
  Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting async-generator~=1.10
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting trio-typing~=0.5.0
  Downloading trio_typing-0.5.0-py3-none-any.whl (40 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting six>=1.15.0
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pyserial>=3.4
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting shiboken2==5.15.2
  Downloading shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (956 kB)
Collecting outcome
  Downloading outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting qtpy
  Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
Collecting decorator
  Downloading decorator-5.0.9-py3-none-any.whl (8.9 kB)
Collecting trio>=0.16
  Downloading trio-0.19.0-py3-none-any.whl (356 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (165.8 MB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
Collecting qtrio[pyside2]~=0.4.1
  Downloading qtrio-0.4.1-py3-none-any.whl (47 kB)
INFO: pip is looking at multiple versions of qtrio to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of shiboken2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyside2 to determine which version is compatible with other requirements. This could take a while.
Collecting shiboken2==5.15.1
  Downloading shiboken2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (941 kB)
Collecting sortedcontainers
  Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting idna
  Downloading idna-3.2-py3-none-any.whl (59 kB)
Collecting sniffio
  Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting typing-extensions>=3.7.4
  Downloading typing_extensions-3.10.0.0-py3-none-any.whl (26 kB)
Collecting mypy-extensions>=0.4.2
  Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting mypy>=0.780
  Downloading mypy-0.910-cp39-cp39-manylinux2010_x86_64.whl (23.2 MB)
Collecting toml
  Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
Building wheels for collected packages: pymodbus, ssst
  Building wheel for pymodbus (setup.py): started
  Building wheel for pymodbus (setup.py): finished with status 'done'
  Created wheel for pymodbus: filename=pymodbus-2.4.0-py2.py3-none-any.whl size=142837 sha256=68bee45513eb356ef907fc09c8ba787ce5ea3ed69ea5faa1c73e986d97cc87d6
  Stored in directory: /tmp/pip-ephem-wheel-cache-cpev1dud/wheels/69/63/1c/fee632c9104c02736c21d75b641b6238499a5df0b2e7393454
  Building wheel for ssst (PEP 517): started
  Building wheel for ssst (PEP 517): finished with status 'done'
  Created wheel for ssst: filename=ssst-0+untagged.272.g1e23bf2-py3-none-any.whl size=19911 sha256=8010f8f49f774b2b49dc46f3ad079de4400c9f4d151b46804833bfb93cf9e66c
  Stored in directory: /tmp/pip-ephem-wheel-cache-cpev1dud/wheels/0c/4e/46/c1e8253f025d946cf522aef808b1ee12d66bf193d5a4a3d820
Successfully built pymodbus ssst
Installing collected packages: attrs, typing-extensions, toml, sortedcontainers, sniffio, outcome, mypy-extensions, idna, async-generator, trio, mypy, trio-typing, six, shiboken2, qtpy, pyserial, decorator, qtrio, pyside2, pymodbus, click, ssst
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Successfully installed async-generator-1.10 attrs-20.3.0 click-7.1.2 decorator-5.0.9 idna-3.2 mypy-0.910 mypy-extensions-0.4.3 outcome-1.1.0 pymodbus-2.4.0 pyserial-3.5 pyside2-5.15.1 qtpy-1.9.0 qtrio-0.4.2 shiboken2-5.15.1 six-1.16.0 sniffio-1.2.0 sortedcontainers-2.4.0 ssst-0+untagged.272.g1e23bf2 toml-0.10.2 trio-0.19.0 trio-typing-0.5.0 typing-extensions-3.10.0.0
Removing intermediate container a30efd8939e2
 ---> bccceebf85d5
FROM base AS fail
Step 10/16 : FROM base AS fail
 ---> 939d95b6ef48
Step 11/16 : RUN git checkout 9063449c61ca4e6942508b2fc343ba7585539f99
 ---> Running in 18f04de788d5
Note: checking out '9063449c61ca4e6942508b2fc343ba7585539f99'.

You are in 'detached HEAD' state. You can look around, make experimental                                                                                                                                                                                              
changes and commit them, and you can discard any commits you make in this                                                                                                                                                                                             
state without impacting any branches by performing another checkout.                                                                                                                                                                                                  

If you want to create a new branch to retain commits you create, you may                                                                                                                                                                                              
do so (now or later) by using -b with the checkout command again. Example:                                                                                                                                                                                            

  git checkout -b <new-branch-name>                                                                                                                                                                                                                                   

HEAD is now at 9063449 use pip 21.1.3                                                                                                                                                                                                                                 
Removing intermediate container 18f04de788d5
 ---> 1e0a6fbe0a97
Step 12/16 : RUN timeout 120 pip install .[pyside2]; true
 ---> Running in c7934512692d
Processing /ssst
  DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
   pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.                                                                                                                            
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting pymodbus@ https://github.com/altendky/pymodbus/archive/83bf25071bdf56ece257e2e113a63dccf6bd692a.zip
  Downloading https://github.com/altendky/pymodbus/archive/83bf25071bdf56ece257e2e113a63dccf6bd692a.zip
Collecting attrs~=20.3.0
  Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting async-generator~=1.10
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting click~=7.1
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting qtrio~=0.4.1
  Downloading qtrio-0.4.2-py3-none-any.whl (49 kB)
Collecting trio-typing~=0.5.0
  Downloading trio_typing-0.5.0-py3-none-any.whl (40 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting six>=1.15.0
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pyserial>=3.4
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting shiboken2==5.15.2
  Downloading shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (956 kB)
Collecting outcome
  Downloading outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting qtpy
  Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
Collecting trio>=0.16
  Downloading trio-0.19.0-py3-none-any.whl (356 kB)
Collecting decorator
  Downloading decorator-5.0.9-py3-none-any.whl (8.9 kB)
Collecting idna
  Downloading idna-3.2-py3-none-any.whl (59 kB)
Collecting sniffio
  Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting sortedcontainers
  Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting typing-extensions>=3.7.4
  Downloading typing_extensions-3.10.0.0-py3-none-any.whl (26 kB)
Collecting mypy-extensions>=0.4.2
  Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting mypy>=0.780
  Downloading mypy-0.910-cp39-cp39-manylinux2010_x86_64.whl (23.2 MB)
Collecting toml
  Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (165.8 MB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
Collecting qtrio[pyside2]
  Downloading qtrio-0.4.1-py3-none-any.whl (47 kB)
INFO: pip is looking at multiple versions of qtrio to determine which version is compatible with other requirements. This could take a while.
  Downloading qtrio-0.4.0-py3-none-any.whl (47 kB)
  Downloading qtrio-0.3.0-py3-none-any.whl (38 kB)
  Downloading qtrio-0.2.0-py3-none-any.whl (39 kB)
  Downloading qtrio-0.1.0-py3-none-any.whl (28 kB)
INFO: pip is looking at multiple versions of qtpy to determine which version is compatible with other requirements. This could take a while.
Collecting qtpy
  Downloading QtPy-1.8.0-py2.py3-none-any.whl (53 kB)
  Downloading QtPy-1.7.1-py2.py3-none-any.whl (45 kB)
  Downloading QtPy-1.7.0-py2.py3-none-any.whl (45 kB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
  Downloading QtPy-1.6.0-py2.py3-none-any.whl (43 kB)
  Downloading QtPy-1.5.2-py2.py3-none-any.whl (42 kB)
  Downloading QtPy-1.5.1-py2.py3-none-any.whl (40 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading QtPy-1.5.0-py2.py3-none-any.whl (40 kB)
INFO: pip is looking at multiple versions of qtrio to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of qtpy to determine which version is compatible with other requirements. This could take a while.
  Downloading QtPy-1.4.2-py2.py3-none-any.whl (32 kB)
  Downloading QtPy-1.4.1-py2.py3-none-any.whl (33 kB)
  Downloading QtPy-1.4.0-py2.py3-none-any.whl (35 kB)
  Downloading QtPy-1.3.1-py2.py3-none-any.whl (32 kB)
  Downloading QtPy-1.3.0-py2.py3-none-any.whl (32 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading QtPy-1.2.1-py2.py3-none-any.whl (21 kB)
  Downloading QtPy-1.2.0-py2.py3-none-any.whl (21 kB)
  Downloading QtPy-1.1.2-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.1.1-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.1.0-py2.py3-none-any.whl (20 kB)
  Downloading QtPy-1.0.2-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-1.0.1-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-1.0-py2.py3-none-any.whl (15 kB)
  Downloading QtPy-0.1.3-py2.py3-none-any.whl (13 kB)
  Downloading QtPy-0.1.2.tar.gz (6.7 kB)
  Downloading QtPy-0.1.1.tar.gz (6.7 kB)
INFO: pip is looking at multiple versions of outcome to determine which version is compatible with other requirements. This could take a while.
Collecting outcome
  Downloading outcome-1.0.1-py2.py3-none-any.whl (10 kB)
  Downloading outcome-1.0.0-py2.py3-none-any.whl (5.1 kB)
  Downloading outcome-0.1.0-py2.py3-none-any.whl (4.9 kB)
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
Collecting idna
  Downloading idna-3.1-py3-none-any.whl (58 kB)
INFO: pip is looking at multiple versions of outcome to determine which version is compatible with other requirements. This could take a while.
  Downloading idna-3.0-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading idna-2.9-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.8-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.7-py2.py3-none-any.whl (58 kB)
  Downloading idna-2.6-py2.py3-none-any.whl (56 kB)
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
  Downloading idna-2.5-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.4-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.3-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.2-py2.py3-none-any.whl (55 kB)
  Downloading idna-2.1-py2.py3-none-any.whl (54 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading idna-2.0-py2.py3-none-any.whl (61 kB)
  Downloading idna-1.1.tar.gz (99 kB)
  Downloading idna-1.0.tar.gz (99 kB)
  Downloading idna-0.9.tar.gz (97 kB)
  Downloading idna-0.8.tar.gz (95 kB)
  Downloading idna-0.7.tar.gz (20 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_idm61go/idna_449ea22d6be94a76b3b42b8dcee1accf/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_idm61go/idna_449ea22d6be94a76b3b42b8dcee1accf/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-ut6ac3pj                                                                                                                                                                                                             
         cwd: /tmp/pip-install-_idm61go/idna_449ea22d6be94a76b3b42b8dcee1accf/                                                                                                                                                                                        
    Complete output (7 lines):                                                                                                                                                                                                                                        
    Traceback (most recent call last):                                                                                                                                                                                                                                
      File "<string>", line 1, in <module>                                                                                                                                                                                                                            
      File "/tmp/pip-install-_idm61go/idna_449ea22d6be94a76b3b42b8dcee1accf/setup.py", line 51, in <module>                                                                                                                                                           
        main()                                                                                                                                                                                                                                                        
      File "/tmp/pip-install-_idm61go/idna_449ea22d6be94a76b3b42b8dcee1accf/setup.py", line 25, in main                                                                                                                                                               
        'long_description': open("README.rst").read(),                                                                                                                                                                                                                
    FileNotFoundError: [Errno 2] No such file or directory: 'README.rst'                                                                                                                                                                                              
    ----------------------------------------                                                                                                                                                                                                                          
WARNING: Discarding https://files.pythonhosted.org/packages/cf/57/53ac056e1a9d028dfce896929d0fc769e53a1e4d0917c2ec163acae4528f/idna-0.7.tar.gz#sha256=bd053a6d0e5231bec41da6ef524369d64dc9a7f27c5075914ae1b1abc4dd33e5 (from https://pypi.org/simple/idna/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.                                                                                                                                                                       
  Downloading idna-0.6.tar.gz (18 kB)
Removing intermediate container c7934512692d
 ---> 89761d5fcbc9
FROM base AS master
Step 13/16 : FROM base AS master
 ---> 939d95b6ef48
Step 14/16 : RUN python -m pip install -U "pip @ https://github.com/pypa/pip/archive/f37fc4c3e80acea52444ec34db3bdfffab9d9618.zip"
 ---> Running in e1fc6674dd97
Collecting pip@ https://github.com/pypa/pip/archive/f37fc4c3e80acea52444ec34db3bdfffab9d9618.zip
  Downloading https://github.com/pypa/pip/archive/f37fc4c3e80acea52444ec34db3bdfffab9d9618.zip
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Building wheels for collected packages: pip
  Building wheel for pip (PEP 517): started
  Building wheel for pip (PEP 517): finished with status 'done'
  Created wheel for pip: filename=pip-21.2.dev0-py3-none-any.whl size=1553286 sha256=80d2ac4b73fd3c2d13623a439ff28b1271f566719e69585297c567aa34332f7e
  Stored in directory: /tmp/pip-ephem-wheel-cache-qe6qiril/wheels/c3/03/cb/19ec368b7105b8bba4651e5747ce5e54a9818f8bdaf43fb584
Successfully built pip
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.1.3
    Uninstalling pip-21.1.3:
      Successfully uninstalled pip-21.1.3
Successfully installed pip-21.2.dev0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Removing intermediate container e1fc6674dd97
 ---> d8c89efc9d2e
Step 15/16 : RUN git checkout 9063449c61ca4e6942508b2fc343ba7585539f99
 ---> Running in 376d9cbd7fe0
Note: checking out '9063449c61ca4e6942508b2fc343ba7585539f99'.

You are in 'detached HEAD' state. You can look around, make experimental                                                                                                                                                                                              
changes and commit them, and you can discard any commits you make in this                                                                                                                                                                                             
state without impacting any branches by performing another checkout.                                                                                                                                                                                                  

If you want to create a new branch to retain commits you create, you may                                                                                                                                                                                              
do so (now or later) by using -b with the checkout command again. Example:                                                                                                                                                                                            

  git checkout -b <new-branch-name>                                                                                                                                                                                                                                   

HEAD is now at 9063449 use pip 21.1.3                                                                                                                                                                                                                                 
Removing intermediate container 376d9cbd7fe0
 ---> 60c1e67e4517
Step 16/16 : RUN timeout 120 pip install .[pyside2]; true
 ---> Running in 07fec4c89b43
Processing /ssst
  DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
   pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.                                                                                                                            
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting pymodbus@ https://github.com/altendky/pymodbus/archive/83bf25071bdf56ece257e2e113a63dccf6bd692a.zip
  Downloading https://github.com/altendky/pymodbus/archive/83bf25071bdf56ece257e2e113a63dccf6bd692a.zip
Collecting trio-typing~=0.5.0
  Downloading trio_typing-0.5.0-py3-none-any.whl (40 kB)
Collecting attrs~=20.3.0
  Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting async-generator~=1.10
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting qtrio~=0.4.1
  Downloading qtrio-0.4.2-py3-none-any.whl (49 kB)
Collecting click~=7.1
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting shiboken2==5.15.2
  Downloading shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (956 kB)
Collecting decorator
  Downloading decorator-5.0.9-py3-none-any.whl (8.9 kB)
Collecting trio>=0.16
  Downloading trio-0.19.0-py3-none-any.whl (356 kB)
Collecting outcome
  Downloading outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting qtpy
  Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB)
Collecting mypy-extensions>=0.4.2
  Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting mypy>=0.780
  Downloading mypy-0.910-cp39-cp39-manylinux2010_x86_64.whl (23.2 MB)
Collecting typing-extensions>=3.7.4
  Downloading typing_extensions-3.10.0.0-py3-none-any.whl (26 kB)
Collecting six>=1.15.0
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pyserial>=3.4
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting pyside2~=5.15
  Downloading PySide2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (165.8 MB)
INFO: pip is looking at multiple versions of qtrio[pyside2] to determine which version is compatible with other requirements. This could take a while.
Collecting qtrio[pyside2]
  Downloading qtrio-0.4.1-py3-none-any.whl (47 kB)
  Downloading qtrio-0.4.0-py3-none-any.whl (47 kB)
  Downloading qtrio-0.3.0-py3-none-any.whl (38 kB)
  Downloading qtrio-0.2.0-py3-none-any.whl (39 kB)
  Downloading qtrio-0.1.0-py3-none-any.whl (28 kB)
INFO: pip is looking at multiple versions of pymodbus to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of trio-typing to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of qtrio to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of shiboken2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyside2 to determine which version is compatible with other requirements. This could take a while.
Collecting shiboken2==5.15.1
  Downloading shiboken2-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (941 kB)
Collecting toml
  Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting sniffio
  Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting sortedcontainers
  Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting idna
  Downloading idna-3.2-py3-none-any.whl (59 kB)
Building wheels for collected packages: pymodbus, ssst
  Building wheel for pymodbus (setup.py): started
  Building wheel for pymodbus (setup.py): finished with status 'done'
  Created wheel for pymodbus: filename=pymodbus-2.4.0-py2.py3-none-any.whl size=142837 sha256=95faa2f1a9226e8d81fd8c00d768413048205cba37f025bcfbb978c2a8602f6f
  Stored in directory: /tmp/pip-ephem-wheel-cache-24kw88zi/wheels/69/63/1c/fee632c9104c02736c21d75b641b6238499a5df0b2e7393454
  Building wheel for ssst (PEP 517): started
  Building wheel for ssst (PEP 517): finished with status 'done'
  Created wheel for ssst: filename=ssst-0+untagged.274.g9063449-py3-none-any.whl size=19921 sha256=7b4e3580fbb48bcd9e1fd75c7f4a03606bf5b92282351055f9a74a2031bfcaac
  Stored in directory: /tmp/pip-ephem-wheel-cache-24kw88zi/wheels/0c/4e/46/c1e8253f025d946cf522aef808b1ee12d66bf193d5a4a3d820
Successfully built pymodbus ssst
Installing collected packages: attrs, typing-extensions, toml, sortedcontainers, sniffio, outcome, mypy-extensions, idna, async-generator, trio, mypy, trio-typing, six, shiboken2, qtpy, pyserial, decorator, qtrio, pyside2, pymodbus, click, ssst
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Successfully installed async-generator-1.10 attrs-20.3.0 click-7.1.2 decorator-5.0.9 idna-3.2 mypy-0.910 mypy-extensions-0.4.3 outcome-1.1.0 pymodbus-2.4.0 pyserial-3.5 pyside2-5.15.1 qtpy-1.9.0 qtrio-0.4.2 shiboken2-5.15.1 six-1.16.0 sniffio-1.2.0 sortedcontainers-2.4.0 ssst-0+untagged.274.g9063449 toml-0.10.2 trio-0.19.0 trio-typing-0.5.0 typing-extensions-3.10.0.0
Removing intermediate container 07fec4c89b43
 ---> ea33bcb74c03
Successfully built ea33bcb74c03
Successfully tagged foo:latest

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C: dependency resolution About choosing which dependencies to install type: enhancement Improvements to functionality
Projects
None yet
Development

No branches or pull requests

2 participants