whl wheels configurar python python-3.x centos pip

python - wheels - pip install-locale.Error: configuración regional no compatible



whl python (9)

Traza completa de la pila:

➜ ~ 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

En el mismo servidor, ejecuté con éxito 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 arroja el mismo error


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


Ejecute el siguiente comando (funcionará):

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


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

En Mac OS X Sierra descubrí 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 actual de cli a menos que vuelva a cargar el perfil bash usando: source ~/.bash_profile .

Esta respuesta está bastante cerca de 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 este motivo, 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 duplicadas 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.


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

Respuesta corta-

solo ejecuta el siguiente comando:

$ export LC_ALL=C

Si sigue recibiendo el error en 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 <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



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

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


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


Ubuntu:

$ sudo vi /etc/default/locale

Agregue la siguiente configuración al final del archivo.

LC_ALL = en_US.UTF-8


[Esta respuesta es objetivo solo en la plataforma Linux]

Lo primero que debe saber es que la mayor parte 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: <https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>

Ver el último /usr/share/i18n ? Aquí es donde se encuentra el 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 compilarlos en archivo binario. Una de las formas, por ejemplo, suponga que tengo /usr/share/i18n/locales/en_LOVE , puedo agregarlo a la lista de compilación, es decir, /etc/locale-gen file:

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

Y compílalo 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 deseado, LC_ALL ... etc. con esta update-locale :

sudo update-locale LANG=en_LOVE.UTF-8

update-locale realidad también significa actualizar este /etc/default/locale que obtendrá el 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" ...

Pero es posible que no queramos reiniciar para que surta efecto, por lo que podemos obtenerlo en la variable de entorno en la sesión de shell actual:

$ . /etc/default/locale

¿Qué tal sudo dpkg-reconfigure locales ? Si juegas, sabrás 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 ese candidato de locale y se locale.gen , setlocale(category, locale) debería funcionar 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 descomente y /etc/locale.gen como desee. zh_CN GB2312 sin punto en ese archivo significa que la cadena correcta es zh_CN y zh_CN.GB2312 .