aboutcode-org / aboutcode-org/python-inspector

Conflicts with python versions on patch level

未关闭
#103 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
bug must have
主要语言
Python
星标
23
派生
28
PR 合并指标
30 天内没有已合并 PR

描述

We have a `requirements.txt` file that cannot be analyzed by Python Inspector due to conflicting dependencies. It boils down to the following two dependencies:

```
anyio==3.6.1
dataclasses==0.8

```
When running the command `python-inspector -r requirements.txt --json-pdt - -o linux -p 36` it reports

```
raise ResolutionImpossible(e.criterion.information)
resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=, parent=None)]
```

When choosing a different Python version, e.g. `37` the problem is caused by the `dataclasses` library (see full stack trace below).

From what I found out, there seem to be only specific Python versions for which this constellation can work: [dataclasses](https://pypi.org/project/dataclasses/) requires Python >=3.6, <3.7; [anyio](https://pypi.org/project/anyio/) requires Python >=3.6.2. It is, however, not possible to define the Python version for Python Inspector on that level of detail. I assume that the `36` option will select a 3.6.0 version? So, should the corresponding option be extended to support an exact version number? Or is there another way how to solve this issue?

Here is the full stack trace:
```
Traceback (most recent call last):
File "/home/heo1wa3/.local/lib/python3.8/site-packages/resolvelib/resolvers.py", line 372, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/home/heo1wa3/.local/lib/python3.8/site-packages/resolvelib/resolvers.py", line 173, in _add_to_criteria
raise RequirementsConflicted(criterion)
resolvelib.resolvers.RequirementsConflicted: Requirements conflict:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/heo1wa3/.local/lib/python3.8/site-packages/python_inspector/resolve_cli.py", line 246, in resolve_dependencies
resolution_result: Dict = resolver_api(
File "/home/heo1wa3/.local/lib/python3.8/site-packages/python_inspector/api.py", line 257, in resolve_dependencies
resolution, purls = resolve(
File "/home/heo1wa3/.local/lib/python3.8/site-packages/python_inspector/api.py", line 316, in resolve
resolved_dependencies, packages = get_resolved_dependencies(
File "/home/heo1wa3/.local/lib/python3.8/site-packages/python_inspector/api.py", line 354, in get_resolved_dependencies
resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
File "/home/heo1wa3/.local/lib/python3.8/site-packages/resolvelib/resolvers.py", line 521, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "/home/heo1wa3/.local/lib/python3.8/site-packages/resolvelib/resolvers.py", line 374, in resolve
raise ResolutionImpossible(e.criterion.information)
resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=, parent=None)]
```

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。