[PYTHON] urllib3.exceptions.LocationParseError: Maßnahmen gegen Fehler beim Parsen

Probleme mit in Python geschriebenem Code, z. B. mit pip installierte Befehle. Anscheinend kann die URL nicht analysiert werden. Es ist ein lokales Problem und hängt von der Umgebung des Benutzers ab, aber ich bin mir nicht sicher, wie ich damit umgehen soll, also werde ich es mir notieren.

Hintergrund

Als ich Atcoder-Tools benutzte, funktionierte es Anfang November plötzlich nicht mehr richtig. Dies bedeutet nicht, dass das Tool kein Update hatte oder dass es nicht aufgehört hat, mit dem Update zu arbeiten, da ich das Update überhaupt nicht eingefügt habe. Ich bin mir nicht sicher, weil ich es wirklich nicht weiß.

Den Fehler betrachten

  File "/usr/lib/python3/dist-packages/requests/models.py", line 380, in prepare_url
    scheme, auth, host, port, path, query, fragment = parse_url(url)
  File "/usr/lib/python3/dist-packages/urllib3/util/url.py", line 392, in parse_url
    return six.raise_from(LocationParseError(source_url), None)
  File "<string>", line 2, in raise_from
    urllib3.exceptions.LocationParseError

Es gibt so ein Protokoll. Versuchen Sie herauszufinden, ob das Problem das Modul "Sechs" oder "Urllib3" ist.

Abhilfe 1

$ pip3 install six==1.15.0

Das "Sechs" -Modul ist veraltet und funktioniert möglicherweise nicht richtig. Wenn Sie ein Protokoll wie module'six 'haben, das kein Attribut'ensure_str' hat, ist dies wahrscheinlich der Fall. Da sure_str nach 1.15.0 zu six hinzugefügt wird, wird es zum obigen Befehl. Tatsächlich scheinen einige Leute dies verbessert zu haben. Dies hat mich jedoch nicht behoben. Selbst wenn Sie dies tun, wird sich dies nicht ändern, sodass die Benutzer möglicherweise das folgende Mittel 2 ausprobieren möchten.

Abhilfe 2

$ pip3 insatll --upgrade urllib3

Dadurch wird auch die Version von "urllib3" auf die neueste Version aktualisiert. Ich bin damit einverstanden, aber ich kann nicht sagen, dass ich es reparieren werde.

Zusammenfassung

Es machte mich traurig, weil es ein ziemlich dummer Grund war. Ich frage mich, ob das Downgrade der Version irgendwann abgefangen wurde, obwohl es auf halbem Weg normal funktionierte. Ich habe den Befehl unterwegs installiert, deinstalliert usw., aber vielleicht ist das der Grund? ich verstehe nicht

Recommended Posts

urllib3.exceptions.LocationParseError: Maßnahmen gegen Fehler beim Parsen
Analysieren Sie die JSON-Datei zum Objekt