[PYTHON] urllib3.exceptions.LocationParseError: Mesures contre échec de l'analyse

Problèmes avec le code écrit en Python, comme les commandes installées avec pip. Apparemment, il ne parvient pas à analyser l'URL. C'est un problème local et cela dépend de l'environnement de l'utilisateur, mais je ne sais pas comment y faire face, je vais donc en prendre note.

Contexte

Lorsque j'utilisais atcoder-tools, il a soudainement cessé de fonctionner correctement vers le début du mois de novembre. Cela ne signifie pas que l'outil n'avait pas de mise à jour ou qu'il n'a pas cessé de fonctionner avec la mise à jour parce que je n'ai pas inséré de mise à jour en premier lieu. Je ne suis pas sûr parce que je ne sais vraiment pas.

En regardant l'erreur

  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

Il y a un journal comme ça. Essayez de déterminer si le problème vient du module «six» ou «urllib3».

Remède 1

$ pip3 install six==1.15.0

Le module «six» est obsolète et peut ne pas fonctionner correctement. Si vous avez un journal comme «module'six» n'a pas d'attribut «ensure_str », c'est probablement le cas. Puisque ensure_str est ajouté à six après 1.15.0, il devient la commande ci-dessus. En fait, il semble que certaines personnes aient amélioré cela. Cependant, cela ne m'a pas réparé. Même si vous faites cela, les gens voudront peut-être essayer le remède suivant 2.

Remède 2

$ pip3 insatll --upgrade urllib3

Cela met également à jour la version de urllib3 vers la dernière version. Je suis d'accord, mais je ne peux pas dire que je vais le réparer

Sommaire

Cela m'a rendu triste parce que c'était une raison assez stupide. Je me demande si la version déclassée a été interceptée à un moment donné alors qu'elle fonctionnait normalement à mi-chemin. J'ai installé, désinstallé, etc. de la commande en cours de route, mais c'est peut-être la raison? Je ne comprends pas

Recommended Posts

urllib3.exceptions.LocationParseError: Mesures contre échec de l'analyse
Analyser le fichier JSON en objet