What may be going on here? This is a problem on two separate Macs of mine – one Eclipse install and one Aptana Studio. After I answer “yes” to create a superuser the first time I Sync DB, I get these errors.
Performing Sync db outside of PyDev (via terminal, etc) seems to work fine.
You just installed Django’s auth system, which means you don’t have
any superusers defined. Would you like to create one now? (yes/no):
yes Traceback (most recent call last): File
“/Users/mac2/Documents/workspace/helloworld/manage.py”, line 10, inexecute_from_command_line(sys.argv) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/init.py”,
line 443, in execute_from_command_line
utility.execute() File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/init.py”,
line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py”,
line 196, in run_from_argv
self.execute(*args, **options.dict) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py”,
line 232, in execute
output = self.handle(*args, **options) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py”,
line 371, in handle
return self.handle_noargs(**options) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/syncdb.py”,
line 110, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive, db) File
“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/sql.py”,
line 189, in emit_post_sync_signal
interactive=interactive, db=db) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/dispatch/dispatcher.py”,
line 172, in send
response = receiver(signal=self, sender=sender, **named) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/auth/management/init.py”,
line 73, in create_superuser
call_command(“createsuperuser”, interactive=True, database=db) File
“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/init.py”,
line 150, in call_command
return klass.execute(*args, **defaults) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py”,
line 232, in execute
output = self.handle(*args, **options) File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py”, line 70, in handle
default_username = get_default_username() File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/auth/management/init.py”,
line 105, in get_default_username
default_username = get_system_username() File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/auth/management/init.py”,
line 85, in get_system_username
return getpass.getuser().decode(locale.getdefaultlocale()[1]) TypeError: decode() argument 1 must be string, not None Finished
“/Users/mac2/Documents/workspace/helloworld/manage.py syncdb”
execution.
The error returned indicates that the call to
decodeis failing with a None argument:The problem there is that
locale.getdefaultlocale()returns a tuple with the environment variableLANG(see http://docs.python.org/library/locale.html). If you open terminal, where syncdb works, and typeecho $LANG, my guess is you’ll get something likeen_US.UTF-8. Similarly, I imagine Python on your command line returns something like this:However, if you run that same command from within Eclipse, where the LANG environment variable isn’t set, you get
(None, None).Try setting the LANG environment variable in Eclipse (Run Configurations… > Environment), and then running syncdb. You might have to play a bit with where the variable is set (i.e., in the Run Config versus the Project itself). Does that fix the problem?