You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Wheels with tags in manylinux_x_y format cannot be resolved #199
I’m encountering an issue where the python-inspector tool does not resolve the wheel for a packages correctly if the wheel tag is in the format manylinux_x_y
Create a requirement.txt file with following content:
solace-pubsubplus==1.9.0 ; python_version >= "3.11" and python_version < "4.0"
Run the Python Inspector tool:
python-inspector -p 3.11 -o linux --json inspector_output.json --requirement requirement.txt
Observe the output.
Expected Behavior
The dependency can be resolved.
Actual Behavior
The tool throws an exception:
resolvelib.resolvers.exceptions.ResolutionImpossible: [RequirementInformation(requirement=<Requirement('solace-pubsubplus==1.9.0; python_version >= "3.11" and python_version < "4.0"')>, parent=None)]
Additional Information
Many thanks
Christoph
This issue arose while using ORT, which depends on python-inspector. It seems like the problem originates from python-inspector itself when analyzing requirements.txt.
Succeeds even when I use a python 3.11 interpreter: python-inspector -p 3.10 -o linux --json inspector_output.json --requirement requirement.txt
Succeeds, too. The optional parameter forces a different approach. python-inspector -p 3.11 -o linux --json inspector_output.json --requirement requirement.txt --use-pypi-json-api
Here I don't like the hint from the command line parameter:
Use PyPI JSON API to fetch dependency data. Faster but not always correct.
I do have the same issue when using ort analyse on my poetry-project:
java.io.IOException: Running 'python-inspector --python-version 311 --operating-system linux --json-pdt /tmp/ort-PythonInspector13710381662136651418/python-inspector6283273422756952523.json --analyze-setup-py-insecurely --requirement /tmp/ort-Poetry12499612839497264533/requirements.txt14705584514466321039.tmp --verbose' in '/tmp/ort-Poetry12499612839497264533' failed with exit code 1:
Traceback (most recent call last):
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 388, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 142, in _add_to_criteria
raise RequirementsConflicted(criterion)
resolvelib.resolvers.exceptions.RequirementsConflicted: Requirements conflict: <Requirement('onnxruntime==1.21.1; python_version >= "3.10" and python_version < "3.13"')>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/resolve_cli.py", line 253, in resolve_dependencies
resolution_result: Dict = resolver_api(
^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/api.py", line 279, in resolve_dependencies
resolution, purls = resolve(
^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/api.py", line 341, in resolve
resolved_dependencies, packages = get_resolved_dependencies(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/api.py", line 379, in get_resolved_dependencies
resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 515, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 390, in resolve
raise ResolutionImpossible(e.criterion.information) from e
resolvelib.resolvers.exceptions.ResolutionImpossible: [RequirementInformation(requirement=<Requirement('onnxruntime==1.21.1; python_version >= "3.10" and python_version < "3.13"')>, parent=None)]
Activity
chbaeumer commentedon Jan 30, 2025
Strangely following commands seems to work.
Succeeds even when I use a python 3.11 interpreter:
python-inspector -p 3.10 -o linux --json inspector_output.json --requirement requirement.txtSucceeds, too. The optional parameter forces a different approach.
python-inspector -p 3.11 -o linux --json inspector_output.json --requirement requirement.txt --use-pypi-json-apiHere I don't like the hint from the command line parameter:
Use PyPI JSON API to fetch dependency data. Faster but not always correct.Thank you
Christoph
pombredanne commentedon Apr 7, 2025
@chbaeumer Thanks for the report. We need to add support for the newest tags in https://github.com/aboutcode-org/python-inspector/blob/main/src/python_inspector/utils_pypi_supported_tags.py
scheer-semvox commentedon Jun 24, 2025
I do have the same issue when using ort analyse on my poetry-project:
java.io.IOException: Running 'python-inspector --python-version 311 --operating-system linux --json-pdt /tmp/ort-PythonInspector13710381662136651418/python-inspector6283273422756952523.json --analyze-setup-py-insecurely --requirement /tmp/ort-Poetry12499612839497264533/requirements.txt14705584514466321039.tmp --verbose' in '/tmp/ort-Poetry12499612839497264533' failed with exit code 1:
Traceback (most recent call last):
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 388, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 142, in _add_to_criteria
raise RequirementsConflicted(criterion)
resolvelib.resolvers.exceptions.RequirementsConflicted: Requirements conflict: <Requirement('onnxruntime==1.21.1; python_version >= "3.10" and python_version < "3.13"')>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/resolve_cli.py", line 253, in resolve_dependencies
resolution_result: Dict = resolver_api(
^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/api.py", line 279, in resolve_dependencies
resolution, purls = resolve(
^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/api.py", line 341, in resolve
resolved_dependencies, packages = get_resolved_dependencies(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/python_inspector/api.py", line 379, in get_resolved_dependencies
resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 515, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.10/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 390, in resolve
raise ResolutionImpossible(e.criterion.information) from e
resolvelib.resolvers.exceptions.ResolutionImpossible: [RequirementInformation(requirement=<Requirement('onnxruntime==1.21.1; python_version >= "3.10" and python_version < "3.13"')>, parent=None)]