instalación de pip – locale.Error: configuración de configuración regional no compatible

Astackmiento completo:

➜ ~ pip install virtualenv Traceback (most recent call last): File "/usr/bin/pip", line 11, in  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 

En el mismo servidor, ejecuté exitosamente pip install virtualenv con python 2.7.x.

Ahora, acabo de instalar python3.4 usando curl https://bootstrap.pypa.io/get-pip.py | python3.4 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 lanza el mismo error también

La causa raíz es: su variable de entorno LC_ALL falta o no es válida de alguna manera

Respuesta corta-

simplemente ejecuta el siguiente comando:

 $ export LC_ALL=C 

Si sigue recibiendo el error en las nuevas ventanas de terminal, agréguelo al final de su archivo .bashrc .

Respuesta larga-

Aquí está mi configuración locale :

 $ 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  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 

Ejecuta el siguiente comando (funcionará):

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

Alguien puede encontrarlo útil. Podría colocar esa configuración regional en el archivo .bashrc, que generalmente se encuentra en el directorio de inicio.
Solo agrega este comando en .bashrc:
export LC_ALL=C
a continuación, escriba source .bashrc
Ahora no necesita llamar a este comando manualmente cada vez, por ejemplo, cuando se conecta a través de ssh.

Para Dockerfile, esto funciona para mí:

 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 

¿Cómo instalar locale-gen?

docker ubuntu / bin / sh: 1: locale-gen: no encontrado

Si bien puede establecer la configuración regional exportando una variable env, tendrá que hacerlo cada vez que inicie una sesión. Establecer una configuración regional de esta manera resolverá el problema de forma permanente:

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

[Esta respuesta es objective solo en la plataforma Linux]

Lo primero que debe saber es que la mayoría de la ruta localizada del archivo de configuración local se puede obtener de localedef --help :

 $ localedef --help | tail -n 5 System's directory for character maps : /usr/share/i18n/charmaps repertoire maps: /usr/share/i18n/repertoiremaps locale path : /usr/lib/locale:/usr/share/i18n For bug reporting instructions, please see:  

Ver el último /usr/share/i18n ? Aquí es donde se encuentra su archivo de configuración xx_XX.UTF-8:

 $ ls /usr/share/i18n/locales/zh_* /usr/share/i18n/locales/zh_CN /usr/share/i18n/locales/zh_HK /usr/share/i18n/locales/zh_SG /usr/share/i18n/locales/zh_TW 

Ahora que ? Necesitamos comstackrlos en un archivo binario. Una de las formas, por ejemplo, supongamos que tengo /usr/share/i18n/locales/en_LOVE , puedo agregarlo a la lista de comstackción, es decir, el /etc/locale-gen :

 $ tail -1 /etc/locale.gen en_LOVE.UTF-8 UTF-8 

Y comstackrlo en binario con sudo locale-gen :

 $ sudo locale-gen Generating locales (this might take a while)... en_AG.UTF-8... done en_AU.UTF-8... done en_BW.UTF-8... done ... en_LOVE.UTF-8... done Generation complete. 

Y ahora actualice la configuración regional predeterminada del sistema con LANG , LC_ALL … etc deseados con esta update-locale :

 sudo update-locale LANG=en_LOVE.UTF-8 

update-locale realidad también significa actualizar este /etc/default/locale que se originará por sistema al iniciar sesión para configurar las variables de entorno:

 $ head /etc/default/locale # File generated by update-locale LANG=en_LOVE.UTF-8 LC_NUMERIC="en_US.UTF-8" ... 

Sin embargo, es posible que no queramos reiniciar para que surta efecto, por lo que solo podemos crear una variable de entorno en la sesión de shell actual:

 $ . /etc/default/locale 

¿Qué hay de sudo dpkg-reconfigure locales ? Si juega con él, sabrá que este comando básicamente actúa como GUI para simplificar los pasos anteriores, es decir, Editar /etc/locale.gen -> sudo locale-gen -> sudo update-locale LANG=en_LOVE.UTF-8

Para Python, siempre y cuando /etc/locale.gen contenga la configuración regional candidata y locale.gen se locale.gen , setlocale(category, locale) debería funcionar sin lanzamientos locale.Error: unsupoorted locale setting sin locale.Error: unsupoorted locale setting . Puede verificar la cadena correcta en_US.UTF-8 / en_US/....etc para establecerla en setlocale() , observando el archivo /etc/locale.gen , y luego descomentar y comstackrlo como desee. zh_CN GB2312 sin punto en ese archivo significa que la cadena correcta es zh_CN y zh_CN.GB2312 .

Tengo el mismo problema, y "export LC_ALL=c" no me funcionó ,
Intente export LC_ALL="en_US.UTF-8" (funcionará).

El mensaje de error indica un problema con la configuración regional. Para solucionar este problema como lo indican otras respuestas, debe modificar la configuración regional.

En Mac OS X Sierra, encontré que la mejor manera de hacerlo era modificar el archivo ~/bash_profile la siguiente manera:

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

Este cambio no será inmediatamente evidente en su sesión de cli actual a menos que vuelva a cargar el perfil de bash usando: source ~/.bash_profile .

Esta respuesta es bastante cercana a las respuestas que he publicado en otras preguntas no idénticas, no duplicadas (es decir, no relacionadas con pipenv) pero que requieren la misma solución.

Al moderador: Con respeto; mi respuesta anterior se eliminó por esta razón, pero creo que fue un poco tonto porque realmente esta respuesta se aplica casi siempre que el error es “problema con la configuración regional” … pero hay una serie de situaciones, idiomas y entornos diferentes que podrían desencadenar ese error

Por lo tanto, A) no tiene sentido marcar las preguntas como duplicados y B) tampoco tiene sentido adaptar la respuesta porque la solución es muy simple, es la misma en cada caso y no se beneficia de la ornamentación.

Ubuntu:

$ sudo vi /etc/default/locale

Agregue la siguiente configuración al final del archivo.

LC_ALL = en_US.UTF-8