Ask a Question
Ask Question Login
Corporate Training
  1. Community
  2. Python
  3. Question
Python

Python locale error: unsupported locale setting

Asked by Jake Sanderson Apr 13, 2021 6.1K views 2 answers
Share

About this question

Why do I get the following error when doing this in python:

>>> import locale

>>> print str( locale.getlocale() )

(None, None)

>>> locale.setlocale(locale.LC_ALL, 'de_DE')

Traceback (most recent call last):

  File "", line 1, in

  File "/usr/lib/python2.7/locale.py", line 531, in setlocale

    return _setlocale(category, locale)

locale.Error: unsupported locale setting

This works with other locales like fr or nl as well. I'm using Ubuntu 11.04.

Update: Doing the following did not yield anything:

dpkg-reconfigure locales

perl: warning: Setting locale failed.

perl: warning: Please check that your locale settings:

    LANGUAGE = (unset),

    LC_ALL = (unset),

    LC_CTYPE = "UTF-8",

    LANG = (unset)

    are supported and installed on your system.

perl: warning: Falling back to the standard locale ("C").

locale: Cannot set LC_CTYPE to default locale: No such file or directory

locale: Cannot set LC_ALL to default locale: No such file or directory


Your answer

2 Answers

Ranjana Admin JanBask Expert Latest answer

Answered on May 23, 2024

The "Unsupported Locale Setting" error in Python usually occurs when you try to set a locale that is not supported by your system. This can happen for various reasons, such as the locale not being installed or the locale string being incorrect.

Here are steps to diagnose and resolve this issue:

1. Check Available Locales on Your System

To see which locales are available on your system, you can run the following command in your terminal:

On Linux and macOS:

locale -a

On Windows:

Windows doesn't have a direct equivalent to locale -a, but you can find the available locales in the Region and Language settings in the Control Panel.

2. Install Missing Locales

If the desired locale is not listed, you may need to install it.

On Linux (Debian/Ubuntu):

sudo locale-gen 
sudo update-locale

For example, to install en_US.UTF-8:

  sudo locale-gen en_US.UTF-8 

sudo update-localeOn macOS:

Locales are typically pre-installed on macOS. If you don't see the locale you need, you might need to adjust your language and region settings in System Preferences.

3. Set the Locale in Python

Ensure you are setting the locale correctly in your Python script. Here’s an example of how to set the locale:

import locale

# Set locale to English (United States)
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')







Was this helpful?

More Python discussions

Learn & Explore

Free tutorials and interview questions from industry experts — learn the skill, then get ready to prove it.

Latest Python Blogs

Guides, tips and career advice on Python from JanBask experts.