Trace de 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 réussi pip install virtualenv
à exécuter 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
python
python-3.x
centos
pip
Ericn
la source
la source
LANG=en_GB.utf8
Réponses:
La cause première est: votre variable d'environnement
LC_ALL
est manquante ou invalide d'une manière ou d'une autreRéponse courte-
exécutez simplement la commande suivante:
Si vous continuez à obtenir l'erreur dans de nouvelles fenêtres de terminal, ajoutez-la au bas de votre
.bashrc
fichier.Longue réponse-
Voici mes
locale
paramètres:Python2.7
la source
export LC_ALL=C
aidé.LC_ALL=C
signifie, voyez ici .Exécutez la commande suivante (cela fonctionnera):
la source
dpkg-reconfigure
commande est destinée à être utilisée sur les systèmes basés sur Debian. Cette question est étiquetée aveccentos
, un dérivé de RHEL qui ne prend pas en charge dpkg sauf si vous activez leepel-release
référentiel et installez les packagesdpkg-devel
&dpkg-dev
. Même alors, ce n'est pas une solution idéale.Quelqu'un peut trouver cela utile. Vous pouvez placer ces paramètres régionaux dans le fichier .bashrc, qui se trouve généralement dans le répertoire personnel.
Ajoutez simplement cette commande dans .bashrc:
export LC_ALL=C
puis tapez
source .bashrc
Maintenant, vous n'avez pas besoin d'appeler cette commande manuellement à chaque fois, lorsque vous vous connectez via ssh par exemple.
la source
Bien que vous puissiez définir les paramètres régionaux pour exporter une variable env, vous devrez le faire chaque fois que vous démarrez une session. Définir une locale de cette façon résoudra le problème de manière permanente:
la source
sudo
sur la même ligne que vous essayez de l'installer?sudo apt-get install ... sudo ...
[Cette réponse est uniquement destinée à la plate-forme Linux]
La première chose que vous devez savoir est que la plupart du chemin localisé du fichier de configuration locale peut être obtenu à partir de
localedef --help
:Voir le dernier
/usr/share/i18n
? C'est là que se trouve votre fichier de configuration xx_XX.UTF-8:Maintenant quoi ? Nous devons les compiler en archive binaire. L'un des moyens, par exemple supposons que je l'ai
/usr/share/i18n/locales/en_LOVE
, je peux l'ajouter dans la liste de compilation, c'est-à-dire le/etc/locale-gen
fichier:Et compilez-le en binaire avec
sudo locale-gen
:Et maintenant, mettez à jour les paramètres régionaux par défaut du système avec les souhaits
LANG
,LC_ALL
... etc avec ceciupdate-locale
:update-locale
signifie également mettre à jour ce/etc/default/locale
fichier qui se source par le système lors de la connexion pour configurer les variables d'environnement:Mais nous ne souhaitons peut-être pas redémarrer pour prendre effet, nous pouvons donc simplement le source dans la variable d'environnement dans la session shell actuelle:
Et alors
sudo dpkg-reconfigure locales
? Si vous y jouez, vous saurez que cette commande agit essentiellement comme une interface graphique pour simplifier les étapes ci-dessus, c'est-à-dire Édition/etc/locale.gen
->sudo locale-gen
->sudo update-locale LANG=en_LOVE.UTF-8
Pour python, tant qu'il
/etc/locale.gen
contient ce candidat local etlocale.gen
qu'il est compilé, ilsetlocale(category, locale)
devrait fonctionner sans lancerlocale.Error: unsupoorted locale setting
. Vous pouvez vérifier la chaîne correcteen_US.UTF-8
/en_US/....etc
à définirsetlocale()
, en observant le/etc/locale.gen
fichier, puis décommenter et compiler comme vous le souhaitez.zh_CN GB2312
sans point dans ce fichier signifie que la chaîne correcte estzh_CN
etzh_CN.GB2312
.la source
/etc/locale.gen
, décommentez lazh_CN.UTF-8
ligne; 2sudo locale-gen
..Pour Dockerfile, cela fonctionne pour moi:
Comment installer locale-gen?
docker ubuntu / bin / sh: 1: locale-gen: introuvable
la source
J'ai eu le même problème et je n'ai pas travaillé pour moi .
"export LC_ALL=c"
Essayez
export LC_ALL="en_US.UTF-8"
(cela fonctionnera).la source
Le message d'erreur indique un problème avec le paramètre de 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 constaté que la meilleure façon de procéder était de modifier le
~/bash_profile
fichier comme suit:Ce changement ne sera pas immédiatement évidente dans votre session de cli actuelle à moins que vous rechargerez 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 et 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 vraiment cette réponse s'applique presque chaque fois que l'erreur est "un problème avec les paramètres régionaux" ... mais il existe un certain nombre de situations, de langues et d'environnements différents qui pourraient déclencher cette erreur.
Ainsi, il 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 non plus parce que le correctif est très simple, est le même dans chaque cas et ne bénéficie pas d'ornementation.
la source
Ubuntu:
$ sudo vi /etc/default/locale
Ajoutez le paramètre ci-dessous à la fin du fichier.
LC_ALL = en_US.UTF-8
la source