django syncdb error when asked "Would you like to create one now? (yes/no): yes"

Platform I am using:

  • PyCharm 2.5.2
  • OSX Lion
  • MacPorts Python 2.7.3
  • Django 1.4
  • sqlite3

Issue I am having

When I execute the command "syncdb" within PyCharm, I get the follow output and error when I answer "yes" to "Would you like to create one now?"

bash -cl "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Applications/PyCharm.app/helpers/pycharm/django_manage.py syncdb /Users/klanger/Work/python/django/developer_utilities"

Creating tables ...

Creating table auth_permission

Creating table auth_group_permissions

Creating table auth_group

Creating table auth_user_user_permissions

Creating table auth_user_groups

Creating table auth_user

Creating table django_content_type

Creating table django_session

Creating table django_site

Creating table django_admin_log

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 "/Applications/PyCharm.app/helpers/pycharm/django_manage.py", line 20, in <module>

    run_module(manage_file, None, '__main__', True)

  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 176, in run_module

    fname, loader, pkg_name)

  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 82, in _run_module_code

    mod_name, mod_fname, mod_loader, pkg_name)

  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code

    exec code in run_globals

  File "/Users/klanger/Work/python/django/developer_utilities/manage.py", line 10, in <module>

    execute_from_command_line(sys.argv)

  File "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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 "/opt/local/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

Process finished with exit code 1

If I do the same thing using a "Terminal" from a noraml bash prompt, the full process works.  Does anyone know if this is a bug, environment issue, or known behavior?

I can work around this by simply executing the command from the Terminal, however, I would prefer remaining with the IDE.  

Any/All feedback is appreciated.

Please sign in to leave a comment.