Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Running `python-inspector` gives `KeyError: 'dictionary is empty'`

Aberta
#169 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
cli, tooling

Direção de pesquisa

Comece reproduzindo o comando reportado do python-inspector com os arquivos vinculados do X-Road-Metrics, test_requirements.txt e setup.py. O traceback aponta para python_inspector/resolve_cli.py e python_inspector/api.py, e a falha subjacente está em resolvelib. Considera-se concluído quando o resolver lidar com este caso conflitante de pymongo/pymongo-stubs sem expor KeyError: 'dictionary is empty'.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

This comes from ORT running

python-inspector --python-version 311 --operating-system linux --json-pdt /tmp/ort-PythonInspector1958014688763264125/python-inspector6282585536190674410.json --analyze-setup-py-insecurely --requirement /var/jenkins_home/workspace/ORT@tmp/project/source/anonymizer_module/test_requirements.txt --setup-py /var/jenkins_home/workspace/ORT@tmp/project/source/anonymizer_module/setup.py --verbose

on https://github.com/nordic-institute/X-Road-Metrics/blob/ce07b95f1fc6fe8236a1d4f6e3bed95b84d313a4/anonymizer_module/test_requirements.txt, see

PIP failed to resolve dependencies for path 'anonymizer_module/test_requirements.txt': IOException: Running 'python-inspector --python-version 311 --operating-system linux --json-pdt /tmp/ort-PythonInspector1958014688763264125/python-inspector6282585536190674410.json --analyze-setup-py-insecurely --requirement /var/jenkins_home/workspace/ORT@tmp/project/source/anonymizer_module/test_requirements.txt --setup-py /var/jenkins_home/workspace/ORT@tmp/project/source/anonymizer_module/setup.py --verbose' in '/var/jenkins_home/workspace/ORT@tmp/project/source/anonymizer_module' failed with exit code 1:
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/resolvelib/resolvers.py", line 316, in _backjump
    name, candidate = broken_state.mapping.popitem()
KeyError: 'dictionary is empty'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/python_inspector/resolve_cli.py", line 253, in resolve_dependencies
    resolution_result: Dict = resolver_api(
  File "/usr/local/lib/python3.10/dist-packages/python_inspector/api.py", line 279, in resolve_dependencies
    resolution, purls = resolve(
  File "/usr/local/lib/python3.10/dist-packages/python_inspector/api.py", line 341, in resolve
    resolved_dependencies, packages = get_resolved_dependencies(
  File "/usr/local/lib/python3.10/dist-packages/python_inspector/api.py", line 379, in get_resolved_dependencies
    resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
  File "/usr/local/lib/python3.10/dist-packages/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/usr/local/lib/python3.10/dist-packages/resolvelib/resolvers.py", line 434, in resolve
    success = self._backjump(causes)
  File "/usr/local/lib/python3.10/dist-packages/resolvelib/resolvers.py", line 318, in _backjump
    raise ResolutionImpossible(causes)
resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=<Requirement('pymongo==3.10.1')>, parent=None), RequirementInformation(requirement=<Requirement('pymongo<4.0,>=3.11')>, parent=Candidate(name='pymongo-stubs', version=<Version('0.2.0')>, extras=set())), RequirementInformation(requirement=<Requirement('pymongo==3.10.1')>, parent=None), RequirementInformation(requirement=<Requirement('pymongo<4.0,>=3.11')>, parent=Candidate(name='pymongo-stubs', version=<Version('0.1.0')>, extras=set()))]
Linguagem predominante
Python
Estrelas
23
Forks
29
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de aboutcode-org/python-inspector

Todas as issues de aboutcode-org/python-inspector

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.