Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

--index-url not parsed correctly

Aperta
#189 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python
Ambito
tooling

Direzione di ricerca

Riproduci il caso di requirements.txt sia con -i URL sia con --index-url URL, quindi confrontalo con --extra-index-url e con il comportamento segnalato di 0.10.0. Segui il percorso attraverso python_inspector/resolve_cli.py, api.py, resolution.py e utils_pypi.py; il lavoro è completato quando l’URL rimane un singolo URL del repository e la risoluzione delle dipendenze non lo suddivide più in caratteri.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Analyzing a requirements.txt file that contains -i URL or --index-url URL fails with the error below.
This was tested with 0.12.1 and 0.10.0, the parsing happens correctly in version 0.10.0.
Replacing -i with --extra-index-url solves the issue.

Error:

environment: Environment(python_version='311', operating_system='linux')
repos:
 PypiSimpleRepository(index_url='https://pypi.org/simple', credentials=None)
 PypiSimpleRepository(index_url='h', credentials=None)
 PypiSimpleRepository(index_url='t', credentials=None)
 PypiSimpleRepository(index_url='t', credentials=None)
 PypiSimpleRepository(index_url='p', credentials=None)
 PypiSimpleRepository(index_url='s', credentials=None)
 PypiSimpleRepository(index_url=':', credentials=None)
 PypiSimpleRepository(index_url='', credentials=None)
 PypiSimpleRepository(index_url='', credentials=None)
 PypiSimpleRepository(index_url='a', credentials=None)
... (the remaining spells out each character of the provided URL)
Traceback (most recent call last):
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolve_cli.py", line 259, in resolve_dependencies
    resolution_result: Dict = resolver_api(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/api.py", line 289, in resolve_dependencies
    resolution, purls = resolve(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/api.py", line 353, in resolve
    resolved_dependencies, packages = get_resolved_dependencies(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/api.py", line 394, in get_resolved_dependencies
    resolver_results = resolver.resolve(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/resolvelib/resolvers.py", line 397, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/resolvelib/resolvers.py", line 148, in _add_to_criteria
    matches = self._p.find_matches(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 621, in find_matches
    candidates = sorted(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 597, in _iter_matches
    self.get_versions_for_package(name=name, repo=repo))
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 401, in get_versions_for_package
    return self.get_versions_for_package_from_repo(name, repo)
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 412, in get_versions_for_package_from_repo
    for version, package in repo.get_package_versions(name).items():
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1550, in get_package_versions
    self._get_package_versions_map(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1518, in _get_package_versions_map
    links = self.fetch_links(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1596, in fetch_links
    text = CACHE.get(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1687, in get
    content = get_file_content(
  File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1736, in get_file_content
    raise Exception(f"Unsupported URL scheme: {path_or_url}")
Exception: Unsupported URL scheme: h/aiofiles
Lingua principale
Python
Stelle
23
Fork
29
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di aboutcode-org/python-inspector

Tutte le issue di aboutcode-org/python-inspector

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.