Closed atodorov closed 2 years ago
Originally reported as https://github.com/python-social-auth/social-app-django/issues/350 b/c I thought that upgrading to social-auth-app-django==5.0.0 is causing the problem. However from my comments at https://github.com/python-social-auth/social-app-django/issues/350#issuecomment-900415665 that doesn't seem the case. In particular:
Then trying to install all dependencies from requirements.txt inside a freshly created venv worked without a hitch too. Installing from devel.txt seems to trigger the problem but only when installing everything in bulk, not when installing individual packages one by one.
I will try pinning pip to an older version to see how it goes and will post comments here.
With pip 21.2.4 (default when I create my venv) and the branch above which uses social-auth-app-django==5.0.0 I get the same results - pip starts backtracking into older versions of cryptography.
With pip 21.2.4 (default when I create my venv) and the master branch which uses social-auth-app-django==4.0.0 the transaction completes and it looks like we're using latest versions of all packages. In particular cryptography==3.4.7 which is the latest.
Same problem for me after updating from 19.3.1 to 21.2.4
We're also seeing this with pip 21.2.4 and Python 3.8.x. The resolver now takes so long, our build system hits the 2 hour timeout 😞 On switching to pip 21.1.3, the dependences in our project were resolved and installed in just 42 seconds.
Facing the same problem, Any Fixes? 😢 (Downgrading to a lower version works for now, but still)
Hi all, I reproduced OPs issue by simplifying it to a single requirements file:
django-python3-ldap==0.12.0
django-ses==2.2.1
dj-database-url==0.5.0
kiwitcms-github-app==1.3.0
kiwitcms-tenants==1.6.0
raven==6.10.0
social-auth-app-django==5.0.0
social-auth-kerberos==0.2.4
python3-saml==1.12.0
flake8
kiwitcms
pylint-django
textdistance
twine
readme_renderer[md]
wheel
I then just used the pip download command so it doesn't affect my environment: python -m pip download --no-cache-dir -r req.txt -d .\downloads\
I have been experimenting with optimizations for pip in these cases that have large potential solution spaces and backtracking is required: https://github.com/pypa/pip/issues/10201#issuecomment-907733777
My testing indicates it resolves this test case but I wasn't able to reproduce your environment exactly so I would appreciate if you could test yourselves.
It's worth noting that it still had to do some heavy backtracking to kiwitcms 8.9, here is my full output, it may help you to know the versions I could install so you can build a better requirements file:
> python -m pip download --no-cache-dir -r req.txt -d .\downloads\
Collecting django-python3-ldap==0.12.0
Downloading django_python3_ldap-0.12.0-py3-none-any.whl (11 kB)
Collecting django-ses==2.2.1
Downloading django_ses-2.2.1-py2.py3-none-any.whl (26 kB)
Collecting dj-database-url==0.5.0
Downloading dj_database_url-0.5.0-py2.py3-none-any.whl (5.5 kB)
Collecting kiwitcms-github-app==1.3.0
Downloading kiwitcms_github_app-1.3.0-py3-none-any.whl (31 kB)
Collecting kiwitcms-tenants==1.6.0
Downloading kiwitcms_tenants-1.6.0-py3-none-any.whl (40 kB)
|████████████████████████████████| 40 kB 2.6 MB/s
Collecting raven==6.10.0
Downloading raven-6.10.0-py2.py3-none-any.whl (284 kB)
|████████████████████████████████| 284 kB 6.8 MB/s
Collecting social-auth-app-django==5.0.0
Downloading social_auth_app_django-5.0.0-py3-none-any.whl (24 kB)
Collecting social-auth-kerberos==0.2.4
Downloading social_auth_kerberos-0.2.4-py3-none-any.whl (7.9 kB)
Collecting python3-saml==1.12.0
Downloading python3_saml-1.12.0-py3-none-any.whl (76 kB)
|████████████████████████████████| 76 kB 5.1 MB/s
Collecting flake8
Downloading flake8-3.9.2-py2.py3-none-any.whl (73 kB)
|████████████████████████████████| 73 kB 5.1 MB/s
Collecting kiwitcms
Downloading kiwitcms-10.3-py3-none-any.whl (28.7 MB)
|████████████████████████████████| 28.7 MB 6.4 MB/s
Collecting pylint-django
Downloading pylint_django-2.4.4-py3-none-any.whl (78 kB)
|████████████████████████████████| 78 kB 5.1 MB/s
Collecting textdistance
Downloading textdistance-4.2.1-py3-none-any.whl (28 kB)
Collecting twine
Downloading twine-3.4.2-py3-none-any.whl (34 kB)
Collecting readme_renderer[md]
Downloading readme_renderer-29.0-py2.py3-none-any.whl (15 kB)
Collecting wheel
Downloading wheel-0.37.0-py2.py3-none-any.whl (35 kB)
Collecting pyasn1<0.5,>=0.4.6
Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
|████████████████████████████████| 77 kB 5.1 MB/s
Collecting ldap3<3,>=2.5
Downloading ldap3-2.9.1-py2.py3-none-any.whl (432 kB)
|████████████████████████████████| 432 kB 6.4 MB/s
Collecting django>=1.11
Downloading Django-3.2.6-py3-none-any.whl (7.9 MB)
|████████████████████████████████| 7.9 MB 6.8 MB/s
Collecting boto3>=1.0.0
Downloading boto3-1.18.31-py3-none-any.whl (131 kB)
|████████████████████████████████| 131 kB 6.4 MB/s
Collecting pytz>=2016.10
Downloading pytz-2021.1-py2.py3-none-any.whl (510 kB)
|████████████████████████████████| 510 kB ...
Collecting future>=0.16.0
Downloading future-0.18.2.tar.gz (829 kB)
|████████████████████████████████| 829 kB 6.8 MB/s
Collecting social-auth-core>=3.3.0
Downloading social_auth_core-4.1.0-py3-none-any.whl (333 kB)
|████████████████████████████████| 333 kB 6.4 MB/s
Collecting django-tenants==3.3.2
Downloading django-tenants-3.3.2.tar.gz (108 kB)
|████████████████████████████████| 108 kB ...
Collecting gssapi
Downloading gssapi-1.6.14-cp39-cp39-win_amd64.whl (674 kB)
|████████████████████████████████| 674 kB 6.4 MB/s
Collecting xmlsec>=1.0.5
Downloading xmlsec-1.3.11-cp39-cp39-win_amd64.whl (1.9 MB)
|████████████████████████████████| 1.9 MB ...
Collecting lxml>=3.3.5
Downloading lxml-4.6.3-cp39-cp39-win_amd64.whl (3.5 MB)
|████████████████████████████████| 3.5 MB 6.4 MB/s
Collecting isodate>=0.5.0
Downloading isodate-0.6.0-py2.py3-none-any.whl (45 kB)
|████████████████████████████████| 45 kB ...
Collecting pyflakes<2.4.0,>=2.3.0
Downloading pyflakes-2.3.1-py2.py3-none-any.whl (68 kB)
|████████████████████████████████| 68 kB ...
Collecting mccabe<0.7.0,>=0.6.0
Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Collecting pycodestyle<2.8.0,>=2.7.0
Downloading pycodestyle-2.7.0-py2.py3-none-any.whl (41 kB)
|████████████████████████████████| 41 kB 3.2 MB/s
Collecting Markdown==3.3.4
Downloading Markdown-3.3.4-py3-none-any.whl (97 kB)
|████████████████████████████████| 97 kB 6.8 MB/s
Collecting django-vinaigrette==2.0.1
Downloading django-vinaigrette-2.0.1.tar.gz (10 kB)
Collecting django-uuslug==1.2.0
Downloading django-uuslug-1.2.0.tar.gz (12 kB)
Collecting jira==3.0.1
Downloading jira-3.0.1-py3-none-any.whl (61 kB)
|████████████████████████████████| 61 kB ...
Collecting PyGithub==1.54.1
Downloading PyGithub-1.54.1-py3-none-any.whl (289 kB)
|████████████████████████████████| 289 kB 6.8 MB/s
Collecting django-guardian==2.4.0
Downloading django_guardian-2.4.0-py3-none-any.whl (106 kB)
|████████████████████████████████| 106 kB 6.4 MB/s
Collecting bleach==4.0.0
Downloading bleach-4.0.0-py2.py3-none-any.whl (146 kB)
|████████████████████████████████| 146 kB ...
Collecting django-tree-queries==0.6.0
Downloading django_tree_queries-0.6.0-py3-none-any.whl (10 kB)
Collecting topicaxis-opengraph==0.5
Downloading topicaxis_opengraph-0.5-py3-none-any.whl (4.7 kB)
Collecting python-redmine==2.3.0
Downloading python_redmine-2.3.0-py2.py3-none-any.whl (50 kB)
|████████████████████████████████| 50 kB ...
Collecting bleach-allowlist==1.0.3
Downloading bleach_allowlist-1.0.3-py2.py3-none-any.whl (9.6 kB)
Collecting django-extensions==3.1.3
Downloading django_extensions-3.1.3-py3-none-any.whl (223 kB)
|████████████████████████████████| 223 kB 6.8 MB/s
Collecting django-grappelli==2.15.1
Downloading django_grappelli-2.15.1-py2.py3-none-any.whl (2.1 MB)
|████████████████████████████████| 2.1 MB 6.8 MB/s
Collecting django-recaptcha==2.0.6
Downloading django_recaptcha-2.0.6-py2.py3-none-any.whl (22 kB)
Collecting django-simple-history==3.0.0
Downloading django_simple_history-3.0.0-py2.py3-none-any.whl (84 kB)
|████████████████████████████████| 84 kB ...
Collecting django-attachments==1.9.1
Downloading django_attachments-1.9.1-py3-none-any.whl (33 kB)
Collecting django-colorfield==0.4.2
Downloading django_colorfield-0.4.2-py3-none-any.whl (46 kB)
|████████████████████████████████| 46 kB 3.2 MB/s
Collecting python-bugzilla==3.1.0
Downloading python-bugzilla-3.1.0.tar.gz (115 kB)
|████████████████████████████████| 115 kB ...
Collecting Pygments==2.9.0
Downloading Pygments-2.9.0-py3-none-any.whl (1.0 MB)
|████████████████████████████████| 1.0 MB 6.4 MB/s
Collecting django-modern-rpc==0.12.1
Downloading django_modern_rpc-0.12.1-py2.py3-none-any.whl (28 kB)
Collecting python-gitlab==2.10.0
Downloading python_gitlab-2.10.0-py3-none-any.whl (106 kB)
|████████████████████████████████| 106 kB ...
Collecting django-contrib-comments==2.1.0
Downloading django_contrib_comments-2.1.0-py3-none-any.whl (406 kB)
|████████████████████████████████| 406 kB 3.2 MB/s
Collecting webencodings
Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting packaging
Downloading packaging-21.0-py3-none-any.whl (40 kB)
|████████████████████████████████| 40 kB ...
Collecting six>=1.9.0
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting asgiref<4,>=3.3.2
Downloading asgiref-3.4.1-py3-none-any.whl (25 kB)
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.1-py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 3.2 MB/s
Collecting mock
Downloading mock-4.0.3-py3-none-any.whl (28 kB)
Collecting python-slugify>=1.2.0
Downloading python_slugify-5.0.2-py2.py3-none-any.whl (6.7 kB)
Collecting requests-toolbelt
Downloading requests_toolbelt-0.9.1-py2.py3-none-any.whl (54 kB)
|████████████████████████████████| 54 kB ...
Collecting setuptools>=20.10.1
Downloading setuptools-57.4.0-py3-none-any.whl (819 kB)
|████████████████████████████████| 819 kB 6.4 MB/s
Collecting defusedxml
Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting keyring
Downloading keyring-23.1.0-py3-none-any.whl (32 kB)
Collecting requests-oauthlib>=1.1.0
Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)
Collecting requests>=2.10.0
Downloading requests-2.26.0-py2.py3-none-any.whl (62 kB)
|████████████████████████████████| 62 kB ...
Collecting deprecated
Downloading Deprecated-1.2.12-py2.py3-none-any.whl (9.5 kB)
Collecting pyjwt<2.0
Downloading PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Collecting beautifulsoup4
Downloading beautifulsoup4-4.9.3-py3-none-any.whl (115 kB)
|████████████████████████████████| 115 kB 3.3 MB/s
Collecting pylint-plugin-utils>=0.5
Downloading pylint_plugin_utils-0.6-py3-none-any.whl (10 kB)
Collecting pylint>=2.0
Downloading pylint-2.10.2-py3-none-any.whl (392 kB)
|████████████████████████████████| 392 kB 6.4 MB/s
Collecting colorama>=0.4.3
Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting importlib-metadata>=3.6
Downloading importlib_metadata-4.8.1-py3-none-any.whl (17 kB)
Collecting tqdm>=4.14
Downloading tqdm-4.62.2-py2.py3-none-any.whl (76 kB)
|████████████████████████████████| 76 kB ...
Collecting rfc3986>=1.4.0
Downloading rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)
Collecting pkginfo>=1.4.2
Downloading pkginfo-1.7.1-py2.py3-none-any.whl (25 kB)
Collecting docutils>=0.13.1
Downloading docutils-0.17.1-py2.py3-none-any.whl (575 kB)
|████████████████████████████████| 575 kB 6.4 MB/s
Collecting cmarkgfm<0.6.0,>=0.5.0
Downloading cmarkgfm-0.5.3-cp39-cp39-win_amd64.whl (132 kB)
|████████████████████████████████| 132 kB 3.3 MB/s
Collecting jmespath<1.0.0,>=0.7.1
Downloading jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
Collecting s3transfer<0.6.0,>=0.5.0
Downloading s3transfer-0.5.0-py3-none-any.whl (79 kB)
|████████████████████████████████| 79 kB 5.1 MB/s
Collecting botocore<1.22.0,>=1.21.31
Downloading botocore-1.21.31-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 6.4 MB/s
Collecting cffi>=1.0.0
Downloading cffi-1.14.6-cp39-cp39-win_amd64.whl (180 kB)
|████████████████████████████████| 180 kB 3.2 MB/s
Collecting zipp>=0.5
Downloading zipp-3.5.0-py3-none-any.whl (5.7 kB)
Collecting pywin32-ctypes!=0.1.0,!=0.1.1
Downloading pywin32_ctypes-0.2.0-py2.py3-none-any.whl (28 kB)
Collecting astroid<2.8,>=2.7.2
Downloading astroid-2.7.2-py3-none-any.whl (238 kB)
|████████████████████████████████| 238 kB 3.3 MB/s
Collecting toml>=0.7.1
Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting platformdirs>=2.2.0
Downloading platformdirs-2.2.0-py3-none-any.whl (13 kB)
Collecting isort<6,>=4.2.5
Downloading isort-5.9.3-py3-none-any.whl (106 kB)
|████████████████████████████████| 106 kB 3.3 MB/s
Collecting certifi>=2017.4.17
Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
|████████████████████████████████| 145 kB 6.4 MB/s
Collecting urllib3<1.27,>=1.21.1
Downloading urllib3-1.26.6-py2.py3-none-any.whl (138 kB)
|████████████████████████████████| 138 kB 6.8 MB/s
Collecting idna<4,>=2.5
Downloading idna-3.2-py3-none-any.whl (59 kB)
|████████████████████████████████| 59 kB ...
Collecting charset-normalizer~=2.0.0
Downloading charset_normalizer-2.0.4-py3-none-any.whl (36 kB)
INFO: pip is looking at multiple versions of six to determine which version is compatible with other requirements. This could take a while.
Collecting six>=1.9.0
Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)
INFO: pip is looking at multiple versions of rfc3986 to determine which version is compatible with other requirements. This could take a while.
Collecting rfc3986>=1.4.0
Downloading rfc3986-1.4.0-py2.py3-none-any.whl (31 kB)
INFO: pip is looking at multiple versions of requests-toolbelt to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of requests to determine which version is compatible with other requirements. This could take a while.
Collecting requests>=2.10.0
Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
|████████████████████████████████| 61 kB 4.1 MB/s
INFO: pip is looking at multiple versions of readme-renderer to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pytz to determine which version is compatible with other requirements. This could take a while.
Collecting pytz>=2016.10
Downloading pytz-2020.5-py2.py3-none-any.whl (510 kB)
|████████████████████████████████| 510 kB 6.8 MB/s
INFO: pip is looking at multiple versions of pylint-plugin-utils to determine which version is compatible with other requirements. This could take a while.
Collecting pylint-plugin-utils>=0.5
Downloading pylint-plugin-utils-0.5.tar.gz (10 kB)
INFO: pip is looking at multiple versions of pylint to determine which version is compatible with other requirements. This could take a while.
Collecting pylint>=2.0
Downloading pylint-2.10.1-py3-none-any.whl (392 kB)
|████████████████████████████████| 392 kB 3.3 MB/s
INFO: pip is looking at multiple versions of pyflakes to determine which version is compatible with other requirements. This could take a while.
Collecting pyflakes<2.4.0,>=2.3.0
Downloading pyflakes-2.3.0-py2.py3-none-any.whl (68 kB)
|████████████████████████████████| 68 kB ...
INFO: pip is looking at multiple versions of pycodestyle to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyasn1 to determine which version is compatible with other requirements. This could take a while.
Collecting pyasn1<0.5,>=0.4.6
Downloading pyasn1-0.4.7-py2.py3-none-any.whl (76 kB)
|████████████████████████████████| 76 kB 1.7 MB/s
INFO: pip is looking at multiple versions of pkginfo to determine which version is compatible with other requirements. This could take a while.
Collecting pkginfo>=1.4.2
Downloading pkginfo-1.7.0-py2.py3-none-any.whl (25 kB)
INFO: pip is looking at multiple versions of mccabe to determine which version is compatible with other requirements. This could take a while.
Collecting mccabe<0.7.0,>=0.6.0
Downloading mccabe-0.6.0-py2.py3-none-any.whl (8.5 kB)
INFO: pip is looking at multiple versions of lxml to determine which version is compatible with other requirements. This could take a while.
Collecting lxml>=3.3.5
Downloading lxml-4.6.2-cp39-cp39-win_amd64.whl (3.5 MB)
|████████████████████████████████| 3.5 MB 3.3 MB/s
INFO: pip is looking at multiple versions of ldap3 to determine which version is compatible with other requirements. This could take a while.
Collecting ldap3<3,>=2.5
Downloading ldap3-2.9-py2.py3-none-any.whl (430 kB)
|████████████████████████████████| 430 kB 6.4 MB/s
INFO: pip is looking at multiple versions of keyring to determine which version is compatible with other requirements. This could take a while.
Collecting keyring
Downloading keyring-23.0.1-py3-none-any.whl (33 kB)
INFO: pip is looking at multiple versions of isodate to determine which version is compatible with other requirements. This could take a while.
Collecting isodate>=0.5.0
Downloading isodate-0.5.4.tar.gz (27 kB)
INFO: pip is looking at multiple versions of importlib-metadata to determine which version is compatible with other requirements. This could take a while.
Collecting importlib-metadata>=3.6
Downloading importlib_metadata-4.7.1-py3-none-any.whl (17 kB)
INFO: pip is looking at multiple versions of future to determine which version is compatible with other requirements. This could take a while.
Collecting future>=0.16.0
Downloading future-0.18.1.tar.gz (828 kB)
|████████████████████████████████| 828 kB 6.4 MB/s
INFO: pip is looking at multiple versions of docutils to determine which version is compatible with other requirements. This could take a while.
Collecting docutils>=0.13.1
Downloading docutils-0.17-py2.py3-none-any.whl (575 kB)
|████████████████████████████████| 575 kB 3.3 MB/s
INFO: pip is looking at multiple versions of colorama to determine which version is compatible with other requirements. This could take a while.
Collecting colorama>=0.4.3
Downloading colorama-0.4.3-py2.py3-none-any.whl (15 kB)
INFO: pip is looking at multiple versions of cmarkgfm to determine which version is compatible with other requirements. This could take a while.
Collecting cmarkgfm<0.6.0,>=0.5.0
Downloading cmarkgfm-0.5.2-cp39-cp39-win_amd64.whl (132 kB)
|████████████████████████████████| 132 kB 6.4 MB/s
INFO: pip is looking at multiple versions of boto3 to determine which version is compatible with other requirements. This could take a while.
Collecting boto3>=1.0.0
Downloading boto3-1.18.30-py3-none-any.whl (131 kB)
|████████████████████████████████| 131 kB 6.4 MB/s
INFO: pip is looking at multiple versions of wheel to determine which version is compatible with other requirements. This could take a while.
Collecting wheel
Downloading wheel-0.36.2-py2.py3-none-any.whl (35 kB)
INFO: pip is looking at multiple versions of readme-renderer[md] to determine which version is compatible with other requirements. This could take a while.
Collecting readme_renderer[md]
Downloading readme_renderer-28.0-py2.py3-none-any.whl (15 kB)
INFO: pip is looking at multiple versions of twine to determine which version is compatible with other requirements. This could take a while.
Collecting twine
Downloading twine-3.4.1-py3-none-any.whl (34 kB)
INFO: pip is looking at multiple versions of textdistance to determine which version is compatible with other requirements. This could take a while.
Collecting textdistance
Downloading textdistance-4.2.0-py3-none-any.whl (29 kB)
INFO: pip is looking at multiple versions of pylint-django to determine which version is compatible with other requirements. This could take a while.
Collecting pylint-django
Downloading pylint_django-2.4.3-py3-none-any.whl (78 kB)
|████████████████████████████████| 78 kB ...
INFO: pip is looking at multiple versions of topicaxis-opengraph to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-redmine to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-gitlab to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-bugzilla to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pygments to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pygithub to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of markdown to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of jira to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-vinaigrette to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-uuslug to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-tree-queries to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-simple-history to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-recaptcha to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-modern-rpc to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-guardian to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-grappelli to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-extensions to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-contrib-comments to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-colorfield to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-attachments to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of bleach-allowlist to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of bleach to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of kiwitcms to determine which version is compatible with other requirements. This could take a while.
Collecting kiwitcms
Downloading kiwitcms-10.2-py3-none-any.whl (28.7 MB)
|████████████████████████████████| 28.7 MB 6.4 MB/s
Collecting PyJWT>=2.0.0
Downloading PyJWT-2.1.0-py3-none-any.whl (16 kB)
Collecting python3-openid>=3.0.10
Downloading python3_openid-3.2.0-py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 6.4 MB/s
Collecting oauthlib>=1.0.3
Downloading oauthlib-3.1.1-py2.py3-none-any.whl (146 kB)
|████████████████████████████████| 146 kB 6.8 MB/s
Collecting cryptography>=1.4
Downloading cryptography-3.4.8-cp36-abi3-win_amd64.whl (1.6 MB)
|████████████████████████████████| 1.6 MB 6.8 MB/s
Collecting python-gitlab==2.9.0
Downloading python_gitlab-2.9.0-py3-none-any.whl (108 kB)
|████████████████████████████████| 108 kB 3.3 MB/s
Collecting django-tree-queries==0.5.2
Downloading django_tree_queries-0.5.2-py3-none-any.whl (10 kB)
Collecting bleach==3.3.0
Downloading bleach-3.3.0-py2.py3-none-any.whl (283 kB)
|████████████████████████████████| 283 kB 6.4 MB/s
Collecting django-colorfield==0.4.1
Downloading django_colorfield-0.4.1-py3-none-any.whl (46 kB)
|████████████████████████████████| 46 kB ...
Collecting python-bugzilla==3.0.2
Downloading python-bugzilla-3.0.2.tar.gz (115 kB)
|████████████████████████████████| 115 kB 6.4 MB/s
Collecting django>=1.11
Downloading Django-3.2.5-py3-none-any.whl (7.9 MB)
|████████████████████████████████| 7.9 MB 6.4 MB/s
Collecting kiwitcms
Downloading kiwitcms-10.1-py3-none-any.whl (28.2 MB)
|████████████████████████████████| 28.2 MB 6.4 MB/s
Collecting django>=1.11
Downloading Django-3.2.3-py3-none-any.whl (7.9 MB)
|████████████████████████████████| 7.9 MB 6.4 MB/s
Collecting django-tree-queries==0.5.1
Downloading django_tree_queries-0.5.1-py3-none-any.whl (10 kB)
Collecting python-gitlab==2.7.1
Downloading python_gitlab-2.7.1-py3-none-any.whl (147 kB)
|████████████████████████████████| 147 kB 6.4 MB/s
Collecting django-guardian==2.3.0
Downloading django_guardian-2.3.0-py3-none-any.whl (106 kB)
|████████████████████████████████| 106 kB 6.4 MB/s
Collecting kiwitcms
Downloading kiwitcms-10.0-py3-none-any.whl (26.0 MB)
|████████████████████████████████| 26.0 MB 6.8 MB/s
Collecting Pygments==2.8.0
Downloading Pygments-2.8.0-py3-none-any.whl (983 kB)
|████████████████████████████████| 983 kB 3.3 MB/s
Collecting django-extensions==3.1.1
Downloading django_extensions-3.1.1-py3-none-any.whl (222 kB)
|████████████████████████████████| 222 kB 6.4 MB/s
Collecting django-grappelli==2.14.3
Downloading django_grappelli-2.14.3-py2.py3-none-any.whl (2.1 MB)
|████████████████████████████████| 2.1 MB 6.8 MB/s
Collecting python-gitlab==2.6.0
Downloading python_gitlab-2.6.0-py3-none-any.whl (100 kB)
|████████████████████████████████| 100 kB 6.4 MB/s
Collecting django-contrib-comments==2.0.0
Downloading django_contrib_comments-2.0.0-py3-none-any.whl (414 kB)
|████████████████████████████████| 414 kB 6.4 MB/s
Collecting jira==2.0.0
Downloading jira-2.0.0-py2.py3-none-any.whl (57 kB)
|████████████████████████████████| 57 kB 3.8 MB/s
Collecting django-tree-queries==0.4.3
Downloading django_tree_queries-0.4.3-py2.py3-none-any.whl (10 kB)
Collecting django-attachments==1.8
Downloading django_attachments-1.8-py2.py3-none-any.whl (36 kB)
Collecting django-simple-history==2.12.0
Downloading django_simple_history-2.12.0-py2.py3-none-any.whl (46 kB)
|████████████████████████████████| 46 kB ...
Collecting django>=1.11
Downloading Django-3.1.7-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 6.8 MB/s
Collecting kiwitcms
Downloading kiwitcms-9.999-py3-none-any.whl (26.0 MB)
|████████████████████████████████| 26.0 MB 6.4 MB/s
Downloading kiwitcms-9.0-py3-none-any.whl (21.9 MB)
|████████████████████████████████| 21.9 MB 6.8 MB/s
Collecting django-colorfield==0.3.2
Downloading django-colorfield-0.3.2.tar.gz (28 kB)
Collecting django-extensions==3.1.0
Downloading django_extensions-3.1.0-py3-none-any.whl (222 kB)
|████████████████████████████████| 222 kB 6.8 MB/s
Collecting Markdown==3.3.3
Downloading Markdown-3.3.3-py3-none-any.whl (96 kB)
|████████████████████████████████| 96 kB ...
Collecting Pygments==2.7.4
Downloading Pygments-2.7.4-py3-none-any.whl (950 kB)
|████████████████████████████████| 950 kB 6.4 MB/s
Collecting django>=1.11
Downloading Django-3.1.5-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 6.4 MB/s
Collecting bleach==3.2.1
Downloading bleach-3.2.1-py2.py3-none-any.whl (145 kB)
|████████████████████████████████| 145 kB 6.8 MB/s
Collecting python-gitlab==2.5.0
Downloading python_gitlab-2.5.0-py3-none-any.whl (93 kB)
|████████████████████████████████| 93 kB 6.4 MB/s
Collecting kiwitcms
Downloading kiwitcms-8.9-py3-none-any.whl (19.7 MB)
|████████████████████████████████| 19.7 MB 6.8 MB/s
Collecting django>=1.11
Downloading Django-3.1.4-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 6.8 MB/s
Collecting django-contrib-comments==1.9.2
Downloading django_contrib_comments-1.9.2-py2.py3-none-any.whl (403 kB)
|████████████████████████████████| 403 kB 3.3 MB/s
Collecting PyGithub==1.53
Downloading PyGithub-1.53-py3-none-any.whl (274 kB)
|████████████████████████████████| 274 kB 6.4 MB/s
Collecting Pygments==2.7.3
Downloading Pygments-2.7.3-py3-none-any.whl (950 kB)
|████████████████████████████████| 950 kB 6.4 MB/s
Collecting pbr>=3.0.0
Downloading pbr-5.6.0-py2.py3-none-any.whl (111 kB)
|████████████████████████████████| 111 kB 6.4 MB/s
Collecting decorator
Downloading decorator-5.0.9-py3-none-any.whl (8.9 kB)
Collecting wrapt<1.13,>=1.11
Downloading wrapt-1.12.1.tar.gz (27 kB)
Collecting lazy-object-proxy>=1.4.0
Downloading lazy_object_proxy-1.6.0-cp39-cp39-win_amd64.whl (22 kB)
Collecting python-dateutil<3.0.0,>=2.1
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
|████████████████████████████████| 247 kB 6.8 MB/s
Collecting pycparser
Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB)
|████████████████████████████████| 112 kB 6.4 MB/s
Collecting text-unidecode>=1.3
Downloading text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
|████████████████████████████████| 78 kB ...
Collecting soupsieve>1.2
Downloading soupsieve-2.2.1-py3-none-any.whl (33 kB)
Collecting pyparsing>=2.0.2
Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
|████████████████████████████████| 67 kB ...
Saved ...\downloads\django_python3_ldap-0.12.0-py3-none-any.whl
Saved ...\downloads\django_ses-2.2.1-py2.py3-none-any.whl
Saved ...\downloads\dj_database_url-0.5.0-py2.py3-none-any.whl
Saved ...\downloads\kiwitcms_github_app-1.3.0-py3-none-any.whl
Saved ...\downloads\kiwitcms_tenants-1.6.0-py3-none-any.whl
Saved ...\downloads\raven-6.10.0-py2.py3-none-any.whl
Saved ...\downloads\social_auth_app_django-5.0.0-py3-none-any.whl
Saved ...\downloads\social_auth_kerberos-0.2.4-py3-none-any.whl
Saved ...\downloads\python3_saml-1.12.0-py3-none-any.whl
Saved ...\downloads\django-tenants-3.3.2.tar.gz
Saved ...\downloads\flake8-3.9.2-py2.py3-none-any.whl
Saved ...\downloads\social_auth_core-4.1.0-py3-none-any.whl
Saved ...\downloads\pyjwt-2.1.0-py3-none-any.whl
Saved ...\downloads\kiwitcms-8.9-py3-none-any.whl
Saved ...\downloads\pygithub-1.53-py3-none-any.whl
Saved ...\downloads\bleach-3.2.1-py2.py3-none-any.whl
Saved ...\downloads\bleach_allowlist-1.0.3-py2.py3-none-any.whl
Saved ...\downloads\django-3.1.4-py3-none-any.whl
Saved ...\downloads\django_attachments-1.8-py2.py3-none-any.whl
Saved ...\downloads\django-colorfield-0.3.2.tar.gz
Saved ...\downloads\django_contrib_comments-1.9.2-py2.py3-none-any.whl
Saved ...\downloads\django_extensions-3.1.0-py3-none-any.whl
Saved ...\downloads\django_grappelli-2.14.3-py2.py3-none-any.whl
Saved ...\downloads\django_guardian-2.3.0-py3-none-any.whl
Saved ...\downloads\django_modern_rpc-0.12.1-py2.py3-none-any.whl
Saved ...\downloads\django_recaptcha-2.0.6-py2.py3-none-any.whl
Saved ...\downloads\django_simple_history-2.12.0-py2.py3-none-any.whl
Saved ...\downloads\django_tree_queries-0.4.3-py2.py3-none-any.whl
Saved ...\downloads\django-uuslug-1.2.0.tar.gz
Saved ...\downloads\django-vinaigrette-2.0.1.tar.gz
Saved ...\downloads\jira-2.0.0-py2.py3-none-any.whl
Saved ...\downloads\markdown-3.3.3-py3-none-any.whl
Saved ...\downloads\pygments-2.7.3-py3-none-any.whl
Saved ...\downloads\python-bugzilla-3.0.2.tar.gz
Saved ...\downloads\python_gitlab-2.5.0-py3-none-any.whl
Saved ...\downloads\python_redmine-2.3.0-py2.py3-none-any.whl
Saved ...\downloads\topicaxis_opengraph-0.5-py3-none-any.whl
Saved ...\downloads\pylint_django-2.4.4-py3-none-any.whl
Saved ...\downloads\textdistance-4.2.1-py3-none-any.whl
Saved ...\downloads\twine-3.4.2-py3-none-any.whl
Saved ...\downloads\wheel-0.37.0-py2.py3-none-any.whl
Saved ...\downloads\boto3-1.18.31-py3-none-any.whl
Saved ...\downloads\cmarkgfm-0.5.3-cp39-cp39-win_amd64.whl
Saved ...\downloads\colorama-0.4.4-py2.py3-none-any.whl
Saved ...\downloads\docutils-0.17.1-py2.py3-none-any.whl
Saved ...\downloads\future-0.18.2.tar.gz
Saved ...\downloads\importlib_metadata-4.8.1-py3-none-any.whl
Saved ...\downloads\isodate-0.6.0-py2.py3-none-any.whl
Saved ...\downloads\keyring-23.1.0-py3-none-any.whl
Saved ...\downloads\ldap3-2.9.1-py2.py3-none-any.whl
Saved ...\downloads\lxml-4.6.3-cp39-cp39-win_amd64.whl
Saved ...\downloads\mccabe-0.6.1-py2.py3-none-any.whl
Saved ...\downloads\pkginfo-1.7.1-py2.py3-none-any.whl
Saved ...\downloads\pyasn1-0.4.8-py2.py3-none-any.whl
Saved ...\downloads\pycodestyle-2.7.0-py2.py3-none-any.whl
Saved ...\downloads\pyflakes-2.3.1-py2.py3-none-any.whl
Saved ...\downloads\pylint-2.10.2-py3-none-any.whl
Saved ...\downloads\pylint_plugin_utils-0.6-py3-none-any.whl
Saved ...\downloads\pytz-2021.1-py2.py3-none-any.whl
Saved ...\downloads\readme_renderer-29.0-py2.py3-none-any.whl
Saved ...\downloads\requests-2.26.0-py2.py3-none-any.whl
Saved ...\downloads\requests_toolbelt-0.9.1-py2.py3-none-any.whl
Saved ...\downloads\rfc3986-1.5.0-py2.py3-none-any.whl
Saved ...\downloads\six-1.16.0-py2.py3-none-any.whl
Saved ...\downloads\tqdm-4.62.2-py2.py3-none-any.whl
Saved ...\downloads\xmlsec-1.3.11-cp39-cp39-win_amd64.whl
Saved ...\downloads\gssapi-1.6.14-cp39-cp39-win_amd64.whl
Saved ...\downloads\asgiref-3.4.1-py3-none-any.whl
Saved ...\downloads\astroid-2.7.2-py3-none-any.whl
Saved ...\downloads\botocore-1.21.31-py3-none-any.whl
Saved ...\downloads\certifi-2021.5.30-py2.py3-none-any.whl
Saved ...\downloads\cffi-1.14.6-cp39-cp39-win_amd64.whl
Saved ...\downloads\charset_normalizer-2.0.4-py3-none-any.whl
Saved ...\downloads\cryptography-3.4.8-cp36-abi3-win_amd64.whl
Saved ...\downloads\defusedxml-0.7.1-py2.py3-none-any.whl
Saved ...\downloads\idna-3.2-py3-none-any.whl
Saved ...\downloads\isort-5.9.3-py3-none-any.whl
Saved ...\downloads\jmespath-0.10.0-py2.py3-none-any.whl
Saved ...\downloads\oauthlib-3.1.1-py2.py3-none-any.whl
Saved ...\downloads\pbr-5.6.0-py2.py3-none-any.whl
Saved ...\downloads\platformdirs-2.2.0-py3-none-any.whl
Saved ...\downloads\python_slugify-5.0.2-py2.py3-none-any.whl
Saved ...\downloads\python3_openid-3.2.0-py3-none-any.whl
Saved ...\downloads\pywin32_ctypes-0.2.0-py2.py3-none-any.whl
Saved ...\downloads\requests_oauthlib-1.3.0-py2.py3-none-any.whl
Saved ...\downloads\s3transfer-0.5.0-py3-none-any.whl
Saved ...\downloads\sqlparse-0.4.1-py3-none-any.whl
Saved ...\downloads\toml-0.10.2-py2.py3-none-any.whl
Saved ...\downloads\urllib3-1.26.6-py2.py3-none-any.whl
Saved ...\downloads\zipp-3.5.0-py3-none-any.whl
Saved ...\downloads\beautifulsoup4-4.9.3-py3-none-any.whl
Saved ...\downloads\decorator-5.0.9-py3-none-any.whl
Saved ...\downloads\deprecated-1.2.12-py2.py3-none-any.whl
Saved ...\downloads\mock-4.0.3-py3-none-any.whl
Saved ...\downloads\packaging-21.0-py3-none-any.whl
Saved ...\downloads\webencodings-0.5.1-py2.py3-none-any.whl
Saved ...\downloads\lazy_object_proxy-1.6.0-cp39-cp39-win_amd64.whl
Saved ...\downloads\pyparsing-2.4.7-py2.py3-none-any.whl
Saved ...\downloads\python_dateutil-2.8.2-py2.py3-none-any.whl
Saved ...\downloads\soupsieve-2.2.1-py3-none-any.whl
Saved ...\downloads\text_unidecode-1.3-py2.py3-none-any.whl
Saved ...\downloads\wrapt-1.12.1.tar.gz
Saved ...\downloads\pycparser-2.20-py2.py3-none-any.whl
Saved ...\downloads\setuptools-57.4.0-py3-none-any.whl
Successfully downloaded django-python3-ldap django-ses dj-database-url kiwitcms-github-app kiwitcms-tenants raven social-auth-app-django social-auth-kerberos python3-saml django-tenants flake8 social-auth-core PyJWT kiwitcms PyGithub bleach bleach-allowlist django django-attachments django-colorfield django-contrib-comments django-extensions django-grappelli django-guardian django-modern-rpc django-recaptcha django-simple-history django-tree-queries django-uuslug django-vinaigrette jira Markdown Pygments python-bugzilla python-gitlab python-redmine topicaxis-opengraph pylint-django textdistance twine wheel boto3 cmarkgfm colorama docutils future importlib-metadata isodate keyring ldap3 lxml mccabe pkginfo pyasn1 pycodestyle pyflakes pylint pylint-plugin-utils pytz readme-renderer requests requests-toolbelt rfc3986 six tqdm xmlsec gssapi asgiref astroid botocore certifi cffi charset-normalizer cryptography defusedxml idna isort jmespath oauthlib pbr platformdirs python-slugify python3-openid pywin32-ctypes requests-oauthlib s3transfer sqlparse toml urllib3 zipp beautifulsoup4 decorator deprecated mock packaging webencodings lazy-object-proxy pyparsing python-dateutil soupsieve text-unidecode wrapt pycparser setuptools
My testing indicates it resolves this test case but I wasn't able to reproduce your environment exactly so I would appreciate if you could test yourselves.
It's a freshly created venv with 3.8, nothing special there. Maybe Python versions do play a little difference but I was able to reproduce both on Fedora and Ubuntu.
It's worth noting that it still had to do some heavy backtracking to kiwitcms 8.9
That's not what I want and definitely not what earlier versions of pip were doing. I want the latest version of kiwitcms, which is 10.3 at the time of writing.
Why does pip start backtracking in the first place and goes all the way back to kiwitcms-8.9 ? Also what's different between the latest pip version and 21.1.3 which is proposed as workaround and seems to not suffer from this issue ?
That's not what I want and definitely not what earlier versions of pip were doing. I want the latest version of kiwitcms, which is 10.3 at the time of writing.
Earlier versions of pip installed incompatible requirements, new versions of pip (20.3 onward) no longer support installing incompatible requirements.
If you want a specific version of kiwitcms you must specify it in your requirements file, e.g. kiwitcms>=10.3
But testing adding kiwitcms>=10.3
to the requirements with my optimized version of pip it eventually gives this error:
ERROR: Cannot install kiwitcms and kiwitcms-github-app because these package versions have conflicting dependencies.
The conflict is caused by:
social-auth-core 4.1.0 depends on PyJWT>=2.0.0
pygithub 1.54.1 depends on pyjwt<2.0
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
Pip therefore does not support installing these requirements and you need to fix the requirements to install kiwitcms 10.3.
Or if you want to install incompatible requirements you must force install them with no dependencies one at a time and completely skip pip's resolution engine.
Why does pip start backtracking in the first place and goes all the way back to kiwitcms-8.9 ? Also what's different between the latest pip version and 21.1.3 which is proposed as workaround and seems to not suffer from this issue ?
Between Pip 21.1 and 21.2 a new feature that was added that pip respects the order of the users requirements when attempting to pin requirements. Requirements near the top of the list are attempted to be pinned first. This theoretically gives the user more control over how it searches the total possible solution space. But unfortunately understanding the possible solution space and using this to give pip better hints on how to search is itself non-trivial. As far as I can tell though pip 21.1 still will backtrack on kiwitcms as there doesn't seem to be a recent matching solution with the rest of the requirements.
That said the worst case for 21.1 and 21.2 are the same, so it just happens your use case was badly impacted, others might have been greatly improved. It's hard to develop good optimizations for the infinite possible solution space that is dependency requirements.
The conflict is caused by: social-auth-core 4.1.0 depends on PyJWT>=2.0.0 pygithub 1.54.1 depends on pyjwt<2.0
Many thanks for pointing this out. I didn't see it before. We've managed to get this sorted out on our end by upgrading to pygithub 1.55 which also requires PyJWT>=2.0.0 so all fine now.
Feel free to close this issue or leave it open if others have any more questions.
Closing this, for the same reasons as https://github.com/pypa/pip/issues/9187#issuecomment-940484928.
Description
pip starts resolving dependencies and in the process starts backtracking into older versions which just takes so long that it never completes (in practice GitHub Actions just times out the job).
Expected behavior
pip completes in a reasonable time and installs the packages.
pip version
21.2.4
Python version
3.8.10 / 3.8.11
OS
Linux (Fedora/Ubuntu)
How to Reproduce
On Ubuntu system
Output