Acabo de actualizar un entorno para Django 1.4. En la primera ejecución de syncdb me sale el siguiente error:Python os.getenv en OSX (Django 1.4)
TypeError: decode() argument 1 must be string, not None
Este error es provocado por django/contrib/auth/management/init
:
try:
return getpass.getuser().decode(locale.getdefaultlocale()[1])
except (ImportError, KeyError, UnicodeDecodeError):
# KeyError will be raised by os.getpwuid() (called by getuser())
# if there is no corresponding entry in the /etc/passwd file
# (a very restricted chroot environment, for example).
# UnicodeDecodeError - preventive treatment for non-latin Windows.
return u''
getdefaultlocale
vuelve None
Después de leer this billete de Django, probé el parche no oficial, que funcionó, sin embargo, creo que podría hacerlo mejor averiguando qué pasa ...
Así que abrió una línea de comandos de Python, y trató:
import os
print os.getenv()
None
os.getenv.__doc__
"Get an environment variable, return None if it doesn't exist.\n The optional second argument can specify an alternate default."
Podría resolver este problema dentro de sí misma OSX? Consejos son bienvenidos
Es un error abierto en django. https://code.djangoproject.com/ticket/16017 – Eduardo