Question pip install - locale.Error: paramètres régionaux non pris en charge


Pile complète:

➜  ~ pip install virtualenv
Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/usr/lib/python3.4/site-packages/pip/__init__.py", line 215, in main
    locale.setlocale(locale.LC_ALL, '')
  File "/usr/lib64/python3.4/locale.py", line 592, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

Sur le même serveur, j'ai couru avec succès pip install virtualenv avec python 2.7.x.

Maintenant, je viens d'installer python3.4 en utilisant curl https://bootstrap.pypa.io/get-pip.py | python3.4.

➜  ~ pip --version
pip 8.1.1 from /usr/lib/python3.4/site-packages (python 3.4)

pip uninstall virtualenv jette la même erreur aussi


154
2018-04-04 03:24


origine


Réponses:


La cause principale est: votre variable d'environnement LC_ALL est manquant ou invalide en quelque sorte

Réponse courte- 

lancez simplement la commande suivante:

$ export LC_ALL=C

Longue réponse-

Voici mon locale paramètres:

$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

Python2.7

    $ uname -a
    Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU/Linux
    $ python --version
    Python 2.7.9
    $ pip --version
    pip 8.1.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
    $ unset LC_ALL
    $ pip install virtualenv
    Traceback (most recent call last):
      File "/usr/local/bin/pip", line 11, in <module>
        sys.exit(main())
      File "/usr/local/lib/python2.7/dist-packages/pip/__init__.py", line 215, in main
        locale.setlocale(locale.LC_ALL, '')
      File "/usr/lib/python2.7/locale.py", line 579, in setlocale
        return _setlocale(category, locale)
    locale.Error: unsupported locale setting
    $ export LC_ALL=C
    $ pip install virtualenv
    Requirement already satisfied (use --upgrade to upgrade): virtualenv in /usr/local/lib/python2.7/dist-packages

396
2018-04-04 03:47



Exécutez la commande suivante (cela fonctionnera):

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

24
2018-04-04 09:45



Quelqu'un peut le trouver utile. Vous pouvez placer ces paramètres régionaux dans le fichier .bashrc, qui se trouvent généralement dans le répertoire de base.
Ajoutez simplement cette commande dans .bashrc:
export LC_ALL=C
puis tapez source .bashrc
Maintenant, vous n'avez plus besoin d'appeler cette commande manuellement à chaque fois que vous vous connectez via ssh, par exemple.


21
2017-10-31 11:30



Pour Dockerfile, cela fonctionne pour moi:

RUN locale-gen en_US.UTF-8  
ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en  
ENV LC_ALL en_US.UTF-8  

Comment installer locale-gen?

docker ubuntu / bin / sh: 1: locale-gen: non trouvé


1
2018-01-23 07:11



J'ai le même problème et "export LC_ALL=c"  n'a pas fonctionné pour moi,
Essayer export LC_ALL="en_US.UTF-8" (ça va marcher).


0
2018-02-12 10:01



Le message d'erreur indique un problème avec les paramètres régionaux. Pour résoudre ce problème comme indiqué par d'autres réponses, vous devez modifier vos paramètres régionaux.

Sur Mac OS X Sierra, j'ai trouvé que la meilleure façon de procéder était de modifier le ~/bash_profile classer comme suit:

export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"

Ce changement ne sera pas immédiatement visible dans votre session cli actuelle, sauf si vous rechargez le profil bash en utilisant: source ~/.bash_profile.

Cette réponse est assez proche des réponses que j'ai postées à d'autres questions non identiques, non dupliquées (c'est-à-dire non liées à pipenv) mais qui nécessitent la même solution.

Au modérateur: Avec respect; Ma réponse précédente a été supprimée pour cette raison, mais je pense que c'était un peu idiot car cette réponse s'applique presque chaque fois que l'erreur est un "problème de paramètres régionaux" ... mais que plusieurs situations, langages et environnements différents peuvent déclencher cette erreur.

Ainsi, A) n'a pas de sens de marquer les questions comme des doublons et B) n'a pas de sens d'adapter la réponse soit parce que la correction est très simple, est identique dans chaque cas et ne bénéficie pas de l'ornementation.


0
2018-03-29 21:27



Bien que vous puissiez définir les paramètres régionaux d'exportation d'une variable env, vous devrez le faire chaque fois que vous démarrez une session. Définir un paramètre régional de cette façon résoudra le problème de manière permanente:

sudo apt-get install locales
sudo locale-gen en_US.UTF-8
sudo echo "LANG=en_US.UTF-8" > /etc/default/locale

0
2017-08-25 01:54