Locale.Error: Python에서 지원되지 않는 로케일 설정

Zeeshan Afridi 2023년12월11일
  1. Python의 로케일 모듈이란 무엇입니까?
  2. Python에서 locale.Error: 지원되지 않는 로케일 설정이란 무엇입니까?
  3. Python에서 locale.Error: 지원되지 않는 로케일 설정을 수정하는 방법
  4. 내보내기 명령으로 locale.Error: 지원되지 않는 로케일 설정 수정
  5. 터미널에서 locale.Error: 지원되지 않는 로케일 설정 수정
  6. Locale 모듈에서 사용 가능한 모든 언어 등록
Locale.Error: Python에서 지원되지 않는 로케일 설정

Python은 원하는 작업을 효율적으로 수행할 수 있도록 하는 많은 라이브러리와 프레임워크가 있는 다양하고 강력한 프로그래밍 언어입니다.

개발자를 돌보는 것과 관련하여 Python은 항상 최상위에 있습니다. 다음은 개발자가 문화적 장벽에 직면하지 않고 소프트웨어를 일반화하는 데 도움이 되는 유명한 모듈 중 하나이며 그 모듈은 Locale입니다.

Python의 로케일 모듈이란 무엇입니까?

논의한 바와 같이 locale 모듈은 개발자가 소프트웨어의 특정 문화적 문제를 쉽게 처리할 수 있도록 개발되었습니다.

따라서 로케일 모듈을 살펴보고 가장 일반적인 오류 중 하나인 로케일.오류: 지원되지 않는 로케일 설정을 수정해 보겠습니다. 이 모듈을 처음 사용하는 경우 발생합니다.

오류에 대한 세부 정보로 이동하기 전에 locale 모듈이 무엇인지, 가져오는 방법 및 이 모듈에 필요한 다른 사항을 살펴보겠습니다.

코드 예:

import locale

# get the current locale
print(locale.getlocale())

출력:

('English_United States', '1252')

이 경우 선호하는 로케일로 English_United States.1252가 있습니다. 기본적으로 설정에 따라 다릅니다. 컴퓨터에 다른 선호 로캘이 있을 수 있습니다.

그러나 setlocale() 기능을 사용하여 사용 가능한 목록에서 기본 로케일을 선호하는 로케일로 변경할 수 있습니다.

locale.setlocale(locale.LC_ALL, "German")

출력:

'German_Germany.1252'

Python에서 locale.Error: 지원되지 않는 로케일 설정이란 무엇입니까?

Python에서 locale 모듈을 처음 사용하는 경우 어느 시점에서 locale.Error: unsupported locale setting이 발생할 수 있습니다. 그리고 locale 모듈을 제대로 설치하지 않았거나 제공하는 매개변수에 문제가 있는 이유도 있습니다.

locale.Error: 지원되지 않는 로케일 설정을 더 잘 이해하기 위한 예를 살펴보겠습니다.

import locale

print(str(locale.getlocale()))
locale.setlocale(locale.LC_ALL, "de_DE")

출력:

locale.Error: unsupported locale setting

이 오류의 핵심 원인은 환경 변수 LC_ALL이 누락되었거나 유효하지 않기 때문입니다. 이 경우 de_DE가 누락되어 locale.Error: unsupported locale setting 오류가 발생합니다.

Python에서 locale.Error: 지원되지 않는 로케일 설정을 수정하는 방법

위의 코드에서 볼 수 있듯이 로케일 오류가 발생했으며 그 이유는 환경 변수가 누락되었거나 제공된 환경 변수가 유효하지 않았기 때문입니다. 이를 해결하기 위해 여러 솔루션이 있습니다. 각각에 대해 하나씩 설명하므로 locale.Error: 지원되지 않는 로케일 설정을 수정하려면 각각을 확인하십시오.

환경 변수 설정부터 시작하겠습니다. 그렇게 하려면 터미널로 이동하여 다음 명령을 입력하십시오.

내보내기 명령으로 locale.Error: 지원되지 않는 로케일 설정 수정

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

한 줄의 코드로 수행할 수도 있습니다. 둘 다 동일하게 작동합니다.

export LC_ALL="en_US.UTF-8" & export LC_CTYPE="en_US.UTF-8" & sudo dpkg-reconfigure locales

위의 명령에서 LC_ALLLC_CTYPE은 환경 변수를 설정하는 데 사용되고 마지막 명령인 sudo dpkg-reconfigure locales는 변경 사항을 시스템에 커밋하는 데 사용됩니다.

터미널에서 locale.Error: 지원되지 않는 로케일 설정 수정

그래도 문제가 해결되지 않으면 터미널에서 locale을 다시 설치할 수 있습니다.

sudo apt-get install locales -y

위의 명령은 locale을 설치합니다. 이제 locale-gen 명령으로 로케일 목록을 생성합니다.

sudo locale-gen en_US.UTF-8

마지막으로 구성을 시스템에 영구적으로 설정합니다.

sudo echo "LANG=en_US.UTF-8" > /etc/default/locale

위의 명령을 실행하면 컴퓨터를 다시 시작하라는 메시지가 표시될 수 있습니다. 다시 시작하도록 허용해야 합니다.

Locale 모듈에서 사용 가능한 모든 언어 등록

아래 명령 또는 Python 프로그램을 실행하여 주어진 locale이 로케일 목록에 있는지 확인할 수 있습니다.

$ locale -a

다음은 사용 가능한 로케일의 목록을 보는 Python 프로그램입니다.

import locale

for language in locale.windows_locale.values():
    print(language, end=", ")

출력:

af_ZA, sq_AL, gsw_FR, am_ET, de_DE, de_CH, ....., sah_RU, ii_CN, yo_NG, zu_ZA

위의 프로그램은 사용 가능한 로케일 언어 목록을 반복하고 출력에 표시된 대로 각각을 인쇄합니다. 이제 목록에서 사용 가능한 항목을 선택하고 프로그램에 입력하여 제대로 작동하는 출력을 볼 수 있습니다.

코드 예:

import locale

print(str(locale.getlocale()))
locale.setlocale(locale.LC_ALL, "de_DE")

출력:

('de_DE', 'UTF-8')
'de_DE'

완벽한! 보시다시피 완벽하게 작동합니다. 원활하게 실행되므로 로케일 언어를 de_DE로 설정했습니다.

위의 예와 같이 de_DE는 현지 언어 목록에 존재하며 독일어를 나타냅니다.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Python Error