aboutcode-org / aboutcode-org/python-inspector

Python inspector command fails when requirements.txt includes sys_platform

Open
#246 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
23
Forks
28
PR merge metrics
No merged PRs in 30d

Description

Python inspector command fails to scan when some packages include system platform information:

```
>python-inspector --requirement requirements.txt -p 313 -o macos --json-pdt tmp.json

Traceback (most recent call last):
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/python_inspector/resolve_cli.py", line 259, in resolve_dependencies
resolution_result: Dict = resolver_api(
~~~~~~~~~~~~^
requirement_files=requirement_files,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<15 lines>...
generic_paths=generic_paths,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/python_inspector/api.py", line 283, in resolve_dependencies
resolution, purls = resolve(
~~~~~~~^
direct_dependencies=direct_dependencies,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<8 lines>...
printer=printer,
^^^^^^^^^^^^^^^^
)
^
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/python_inspector/api.py", line 374, in resolve
resolved_dependencies, packages = get_resolved_dependencies(
~~~~~~~~~~~~~~~~~~~~~~~~~^
requirements=requirements,
^^^^^^^^^^^^^^^^^^^^^^^^^^
...<8 lines>...
printer=printer,
^^^^^^^^^^^^^^^^
)
^
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/python_inspector/api.py", line 465, in get_resolved_dependencies
resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/resolvelib/resolvers/resolution.py", line 596, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/resolvelib/resolvers/resolution.py", line 429, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/resolvelib/resolvers/resolution.py", line 125, in _add_to_criteria
matches = self._p.find_matches(
identifier=identifier,
...<9 lines>...
),
)
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/python_inspector/resolution.py", line 634, in find_matches
candidates = sorted(
self._iter_matches(identifier, requirements, incompatibilities),
key=operator.attrgetter("version"),
reverse=True,
)
File "~/Documents/misc/python-torch-multi-platform/.venv/lib/python3.13/site-packages/python_inspector/resolution.py", line 617, in _iter_matches
raise NoVersionsFound(f"This package does not exist: {name}")
python_inspector.error.NoVersionsFound: This package does not exist: torch
```

The requirements.txt file (https://github.com/voidpetal/pyinsp-system-platform-test/tree/main):
```
torch==2.8.0; sys_platform != "linux"
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.