-
-
Notifications
You must be signed in to change notification settings - Fork 636
Open
Labels
bugSomething is not workingSomething is not workingneeds reproduceNeed to reproduce an issueNeed to reproduce an issue
Description
I just tried upgrading from Python 3.9 because it's EOL and it runs into an exception when running pip-compile with rlextra on Python 3.11
Environment Versions
- Debian Trixie
- Python version: 3.11.14
- pip version: 24.0
- pip-tools version: 7.5.2
Steps to replicate
- Put
rlextrain a requirements.in file using Python 3.9 - Build requirements.txt with
pip-compile - Upgrade to Python 3.11
- Run
pip-compile - Observe traceback
Expected result
Would work on Python 3.11 like 3.9
Actual result
IndexError happens when processing rlextra. I believe this is because the versions available in pypi don't cover 3.11 and the private repo is needed to get the actual package, but pip-compile assumes that something will be available in pypi and that causes the IndexError
Traceback (most recent call last):
File "/usr/src/venv/bin/pip-compile", line 8, in <module>
sys.exit(cli())
^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/click/core.py", line 1485, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/click/decorators.py", line 34, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/piptools/scripts/compile.py", line 482, in cli
hashes = resolver.resolve_hashes(results) if generate_hashes else None
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/piptools/resolver.py", line 171, in resolve_hashes
return {ireq: self.repository.get_hashes(ireq) for ireq in ireqs}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/piptools/resolver.py", line 171, in <dictcomp>
return {ireq: self.repository.get_hashes(ireq) for ireq in ireqs}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/piptools/repositories/pypi.py", line 329, in get_hashes
return self._get_req_hashes(ireq)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/piptools/repositories/pypi.py", line 336, in _get_req_hashes
matching_candidates = self._get_matching_candidates(ireq)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/venv/lib/python3.11/site-packages/piptools/repositories/pypi.py", line 393, in _get_matching_candidates
return candidates_by_version[matching_versions[0]]
~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
Metadata
Metadata
Assignees
Labels
bugSomething is not workingSomething is not workingneeds reproduceNeed to reproduce an issueNeed to reproduce an issue