Error en la configuración regional del cuaderno IPython

Después de instalar la última distribución de Anaconda Python para Mac OSX de 64 bits , sigo obteniendo un ValueError al intentar iniciar el portátil IPython.

A partir de ipython funciona bien:

3-millerc-~:ipython Python 2.7.3 |Anaconda 1.4.0 (x86_64)| (default, Feb 25 2013, 18:45:56) Type "copyright", "credits" or "license" for more information. IPython 0.13.1 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. 

Pero a partir del cuaderno de ipython:

 4-millerc-~:ipython notebook 

Resultados en el ValueError (con rastreo):

 Traceback (most recent call last): File "/Users/millerc/anaconda/bin/ipython", line 7, in  launch_new_instance() File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.py", line 388, in launch_new_instance app.initialize() File "", line 2, in initialize File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error return method(app, *args, **kwargs) File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.py", line 313, in initialize super(TerminalIPythonApp, self).initialize(argv) File "", line 2, in initialize File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error return method(app, *args, **kwargs) File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/core/application.py", line 325, in initialize self.parse_command_line(argv) File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.py", line 308, in parse_command_line return super(TerminalIPythonApp, self).parse_command_line(argv) File "", line 2, in parse_command_line File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error return method(app, *args, **kwargs) File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 420, in parse_command_line return self.initialize_subcommand(subc, subargv) File "", line 2, in initialize_subcommand File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error return method(app, *args, **kwargs) File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 352, in initialize_subcommand subapp = import_item(subapp) File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/utils/importstring.py", line 40, in import_item module = __import__(package,fromlist=[obj]) File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/html/notebook/notebookapp.py", line 46, in  from .handlers import (LoginHandler, LogoutHandler, File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/html/notebook/handlers.py", line 36, in  from docutils.core import publish_string File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/core.py", line 20, in  from docutils import frontend, io, utils, readers, writers File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/frontend.py", line 41, in  import docutils.utils File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/utils/__init__.py", line 20, in  from docutils.io import FileOutput File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/io.py", line 18, in  from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/utils/error_reporting.py", line 47, in  locale_encoding = locale.getlocale()[1] or locale.getdefaultlocale()[1] File "/Users/millerc/anaconda/lib/python2.7/locale.py", line 503, in getdefaultlocale return _parse_localename(localename) File "/Users/millerc/anaconda/lib/python2.7/locale.py", line 435, in _parse_localename raise ValueError, 'unknown locale: %s' % localename ValueError: unknown locale: UTF-8 

Ejecutando el comando locale desde la terminal:

 5-millerc-~:locale LANG= LC_COLLATE="C" LC_CTYPE="UTF-8" LC_MESSAGES="C" LC_MONETARY="C" LC_NUMERIC="C" LC_TIME="C" LC_ALL= 

Resumo aquí la solución que se encuentra en: http://blog.lobraun.de/2009/04/04/11/mercurial-on-mac-os-x-valueerror-unknown-locale-utf-8/

Agregué estas líneas a mi .bash_profile :

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

Recargué el perfil:

 source ~/.bash_profile 

Luego corrí ipython nuevo:

 ipython notebook 

Cambiando locales

Lo anterior funcionará para el idioma inglés en una localidad de los Estados Unidos. Uno puede querer diferentes configuraciones.

A riesgo de indicar lo obvio, para descubrir la configuración actual de su sistema, use:

 $ locale 

Y para recuperar una lista de todas las configuraciones válidas en su sistema:

 $ locale -a 

Luego elige tu localidad preferida. Por ejemplo, para un local francés de Suiza, la solución se vería así:

 export LC_ALL=fr_CH.UTF-8 export LANG=fr_CH.UTF-8 

Este es un error en la aplicación OS X Terminal que solo se muestra en ciertas configuraciones regionales (combinaciones de país / idioma). Abra Terminal en / Aplicaciones / Utilidades y desmarque la casilla “Establecer las variables de entorno de la configuración regional en el inicio”.

introduzca la descripción de la imagen aquí

Esto configurará su variable de entorno LANG para que esté vacía. Esto puede hacer que el uso del terminal sea incorrecto para la configuración regional. El comando de configuración regional en la Terminal le dirá qué configuraciones se utilizan. Para usar el idioma correcto, agregue una línea a su perfil de bash (generalmente ~/.profile )

 export LANG=your-lang 

Reemplace your-lang con el especificador de configuración regional correcto para su idioma. El comando locale -a le mostrará todos los especificadores. Por ejemplo, el código de idioma para inglés de EE. UU. Es en_US.UTF-8 . La configuración regional afecta a qué traducciones se usan cuando están disponibles, y también a cómo se formatean las fechas, las monedas y los decimales.

Tenga en cuenta que esta imagen y el contenido se tomaron de http://conda.pydata.org/docs/troubleshooting.html#unknown-locale (también soy el autor original de esa página).

en iTerm ir al menú

 Preferences -> Profiles -> Terminal -> (Environment) 

y luego deseleccionando

 "Set locale variables automatically" 

Hizo desaparecer este error.

Como su LC_CTYPE está equivocado, debe averiguar dónde se establece ese valor incorrecto y cambiarlo a algo como en_US.UTF-8 .