GNU/Linux >> Tutoriels Linux >  >> Linux

Comment résoudre UnicodeDecodeError en Python 3.6 ?

J'ai eu ce problème lors de l'utilisation de Python dans un conteneur Docker basé sur Ubuntu 18.04. Il semblait s'agir d'un problème de paramètres régionaux, qui a été résolu en ajoutant ce qui suit au Dockerfile :

ENV LANG C.UTF-8

Il semble que vos paramètres régionaux soient cassés et qu'ils aient un autre problème d'octets->Unicode . La chose que vous avez faite pour Python 2.7 est un hack qui n'a fait que masquer le vrai problème (il y a une raison pour laquelle vous devez reload sys pour le faire fonctionner).

Pour corriger vos paramètres régionaux, essayez de saisir locale depuis la ligne de commande. Cela devrait ressembler à :

LANG=en_GB.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_ALL=

locale dépend de LANG étant réglé correctement. Python utilise efficacement locale pour déterminer quel encodage utiliser lors de l'écriture sur stdout in. Si cela ne fonctionne pas, il est par défaut en ASCII.

Vous devriez d'abord essayer de corriger vos paramètres régionaux. Si locale erreurs, assurez-vous d'avoir installé le module linguistique approprié pour votre région.

Si tout le reste échoue, vous pouvez toujours réparer Python en définissant PYTHONIOENCODING=UTF-8 . Cela devrait être utilisé en dernier recours car vous masquerez à nouveau les problèmes.

Si Python génère toujours une erreur après avoir défini PYTHONIOENCODING alors s'il vous plaît mettre à jour votre question avec le stacktrace. Il y a de fortes chances que vous ayez une conversion implicite en cours.


Linux
  1. Comment installer Python sur Linux

  2. Comment installer Python sur Linux Mint 20

  3. Comment tracer des scripts Python à l'aide de trace.py

  4. Comment exécuter un fichier python sous Linux

  5. Comment installer/modifier les paramètres régionaux sur Debian ?

Comment commenter en Python

Comment installer Python 3.7 sur Ubuntu 18.04

Comment vérifier la version de Python

Comment exécuter un script Python en PHP

Comment installer Python PIP sur Ubuntu 18.04

Comment utiliser les ensembles en Python