Opened 3 years ago

Closed 21 months ago

#18160 closed Bug (duplicate)

Auth - Unknown Encoding Error when syncdb

Reported by: anonymous Owned by: nobody
Component: contrib.auth Version: master
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by jezdez)

When I was running ./manage.py syncdb (with sqlite3), a LookupError shows up
as follow. I filed a patch to fix it.

In the UnitTest, I made import locale as inline (Or should I import it at
the beggining of the file?)

bash $ ./manage.py syncdb
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 "./manage.py", line 13, in <module>
  execute_from_command_line(sys.argv)
File "/Users/yippee/projects/YEditor/server/django/core/management/__init__.py", line 443, in execute_from_command_line
  utility.execute()
File "/Users/yippee/projects/YEditor/server/django/core/management/__init__.py", line 382, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 196, in run_from_argv
  self.execute(*args, **options.__dict__)
File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 232, in execute
  output = self.handle(*args, **options)
File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 371, in handle
  return self.handle_noargs(**options)
File "/Users/yippee/projects/YEditor/server/django/core/management/commands/syncdb.py", line 110, in handle_noargs
  emit_post_sync_signal(created_models, verbosity, interactive, db)
File "/Users/yippee/projects/YEditor/server/django/core/management/sql.py", line 189, in emit_post_sync_signal
  interactive=interactive, db=db)
File "/Users/yippee/projects/YEditor/server/django/dispatch/dispatcher.py", line 172, in send
  response = receiver(signal=self, sender=sender, **named)
File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/__init__.py", line 73, in create_superuser
  call_command("createsuperuser", interactive=True, database=db)
File "/Users/yippee/projects/YEditor/server/django/core/management/__init__.py", line 150, in call_command
  return klass.execute(*args, **defaults)
File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 232, in execute
  output = self.handle(*args, **options)
File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/commands/createsuperuser.py", line 70, in handle
  default_username = get_default_username()
File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/__init__.py", line 105, in get_default_username
  default_username = get_system_username()
File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/__init__.py", line 85, in get_system_username
  return getpass.getuser().decode(locale.getdefaultlocale()[1])
LookupError: unknown encoding: x-mac-simp-chinese

Thanks,
mitnk

Attachments (2)

auth_unknown_encoding.diff (1.3 KB) - added by mitnk 3 years ago.
auth_invalid_encoding.diff (2.1 KB) - added by mawe 3 years ago.
Updated patch which fixes unknown as well as invalid (None) encodings

Download all attachments as: .zip

Change History (7)

Changed 3 years ago by mitnk

comment:1 Changed 3 years ago by jezdez

  • Description modified (diff)
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset

Fixed traceback.

comment:2 Changed 3 years ago by jezdez

  • Triage Stage changed from Unreviewed to Accepted

comment:3 Changed 3 years ago by jezdez

  • Triage Stage changed from Accepted to Ready for checkin

comment:4 Changed 3 years ago by mawe

  • Triage Stage changed from Ready for checkin to Accepted

While the original patch fixes the issue with an invalid encoding, it does not address the problem completely. There also seem to be many duplicate tickets regarding this issue (search for getdefaultlocale), but it seems like the easiest fix would be to simply use django.utils.encoding.DEFAULT_LOCALE_ENCODING, as in the attached patch auth_invalid_encoding.diff

Changed 3 years ago by mawe

Updated patch which fixes unknown as well as invalid (None) encodings

comment:5 Changed 21 months ago by claudep

  • Resolution set to duplicate
  • Status changed from new to closed

Was fixed in #19933

Note: See TracTickets for help on using tickets.
Back to Top