BUG: `resolve_dependencies` failures
Opened this issue · 1 comments
tdruez commented
Using the latest release v34.7.0 on the SCIO setup.cfg file:
docker pull ghcr.io/nexb/scancode.io:latest
docker run --rm \
ghcr.io/nexb/scancode.io:latest \
sh -c "run resolve_dependencies https://github.com/nexB/scancode.io/blob/main/setup.cfg" \
> results.json
...
INFO 2024-07-05 06:30:11.70 Step [get_packages_from_manifest] starting
INFO 2024-07-05 06:30:25.46 Pipeline failed
INFO Run[3ff9570e-2c9f-401f-8c98-7e6ee7bb48a4] Update Run instance with exitcode, output, and end_date
CommandError: Error during resolve_dependencies execution:
This package does not exist: teams
Traceback:
File "/opt/scancodeio/scanpipe/pipelines/__init__.py", line 215, in execute
step(self)
File "/opt/scancodeio/scanpipe/pipelines/resolve_dependencies.py", line 87, in get_packages_from_manifest
self.resolved_packages = resolve.get_packages(
^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 71, in get_packages
if packages := resolve_manifest_resources(resource, package_registry):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 47, in resolve_manifest_resources
packages = get_packages_from_manifest(resource.location, package_registry) or []
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 125, in get_packages_from_manifest
resolved_packages = resolver(input_location=input_location)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 144, in resolve_pypi_packages
inspector_output = resolve_dependencies(
^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/api.py", line 280, in resolve_dependencies
resolution, purls = resolve(
^^^^^^^^
File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/api.py", line 344, in resolve
resolved_dependencies, packages = get_resolved_dependencies(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/api.py", line 385, in get_resolved_dependencies
resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/venv/lib/python3.12/site-packages/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/venv/lib/python3.12/site-packages/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/opt/scancodeio/venv/lib/python3.12/site-packages/resolvelib/resolvers.py", line 148, in _add_to_criteria
matches = self._p.find_matches(
^^^^^^^^^^^^^^^^^^^^^
File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/resolution.py", line 612, in find_matches
candidates = sorted(
^^^^^^^
File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/resolution.py", line 595, in _iter_matches
raise NoVersionsFound(f"This package does not exist: {name}")
AyanSinhaMahapatra commented
@tdruez python-inspector
is only supporting setup.py
and requirements.txt
for dynamic package resolution, everything else is not supported (pyproject.toml/setup.cfg).
From the README:
* parse various requirements.txt files and setup.py files as input for resolving dependencies.
See also aboutcode-org/python-inspector#153
But we should not fail like this on the python-inspector side if we don't have a supported manifest, will open an issue there.