programing

펠리컨 3.3 펠리컨-퀵 스타트 오류 "값 오류: 알 수 없는 로케일: UTF-8"

lastcode 2023. 7. 16. 13:35
반응형

펠리컨 3.3 펠리컨-퀵 스타트 오류 "값 오류: 알 수 없는 로케일: UTF-8"

펠리컨 3.3을 사용하려고 할 때 "펠리컨-퀵 스타트"라는 추천어를 입력했는데 몇 가지 오류가 나타났습니다.

오류는 다음과 같습니다.

(PelicanEnv)59-127-113-90:myblog Richo$ pelican-quickstart
Traceback (most recent call last):
  File "/Users/Richo/Dropbox/Github/PelicanEnv/bin/pelican-quickstart", line 9, in <module>
    load_entry_point('pelican==3.3', 'console_scripts', 'pelican-quickstart')()
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pelican/__init__.py", line 16, in <module>
    from pelican.generators import (ArticlesGenerator, PagesGenerator,
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pelican/generators.py", line 20, in <module>
    from pelican.readers import Readers
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pelican/readers.py", line 11, in <module>
    import docutils.core
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/core.py", line 20, in <module>
    from docutils import frontend, io, utils, readers, writers
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/frontend.py", line 41, in <module>
    import docutils.utils
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/utils/__init__.py", line 20, in <module>
    import docutils.io
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/io.py", line 18, in <module>
    from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/utils/error_reporting.py", line 47, in <module>
    locale_encoding = locale.getlocale()[1] or locale.getdefaultlocale()[1]
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/locale.py", line 513, in getdefaultlocale
    return _parse_localename(localename)
  File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/locale.py", line 445, in _parse_localename
    raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

제 OS는 OS X 매버릭스입니다.

여기 또는 여기에 게시된 솔루션을 사용해 볼 수 있습니다.기본적으로 ~/.bash_profile에 다음 행을 추가합니다.

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

이 문제와 관련된 미결 버그 보고서가 있습니다.Python은 보편적으로 유효하지 않은 로케일 이름의 형식에 대해 몇 가지 가정을 하는 것으로 보입니다.이러한 환경 변수를 명시적으로 설정하는 것은 기본적으로 해당 버그에 대한 해결 방법일 뿐입니다.

[편집:] @asmeurer가 정확하게 지적했듯이, 위의 수정 사항은 영어와 미국어를 가정합니다. 당신은 정말로 제공된 목록에서 당신이 선호하는 로케일을 선택해야 합니다.locale -a(로 끝나는 것을 포함합니다.UTF-8).

제라트의 대답은 효과가 있고, 저는 당신이 다음과 같은 것을 사용한다면 우리가 언급해야 한다고 생각합니다.zsh다음에 줄을 추가해야 합니다.~/.zshrc대신에~/.bash_profile또는~/.bash_rc

위층의 답변은 신속하게 훌륭했습니다!하지만 저처럼 게으른 사람들은 다른 로그인 사용자로 변경하는 동안 다시는 변경되지 않을 경우를 대비하여 글로벌 환경을 변경하고자 한다고 생각합니다.따라서 다음과 같이 파일을 변경해야 합니다.

sudo vi /etc/profile or sudo vi /etc/bashrc

다음 파일에 두 줄을 추가합니다.

export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"

이 중 하나를 놓치지 마십시오. $LANG 또는 $LC_ALL만 사용할 수 있습니다.그런 다음 명령을 실행하여 환경을 활성화합니다.

sudo source /etc/profile 
sudo source /etc/bashrc
source ~/.bash_profile 
source ~/.zshrc

다시 말하지만, 저처럼 게으른 사람들은 한 줄의 명령으로 끝낼 수 있습니다.

echo -e "export LC_ALL=en_US.UTF-8\nexport LANG=en_US.UTF-8" >> ~/.bash_profile && source ~/.bash_profile

는 이 질문에 대한 답변을 다시 올리는데, 이 질문이 중복으로 표시되어 있었고, 이 질문에 대한 수락된 답변은 여러 면에서 잘못된 것입니다.

이는 특정 로케일(국가/언어 조합)에만 나타나는 OS X 터미널 앱의 버그입니다./Applications/Utilities에서 터미널을 열고 "시작 시 로케일 환경 변수 설정" 상자의 선택을 취소합니다.

enter image description here

이것은 당신을 설정할 것입니다.LANG환경 변수가 비어 있어야 합니다.이로 인해 단말기 사용 시 로케일 설정이 잘못될 수 있습니다.터미널의 locale 명령은 사용되는 설정을 알려줍니다.올바른 언어를 사용하려면 bash 프로필에 줄을 추가합니다(일반적으로).~/.profile)

export LANG=your-lang

교체하다your-lang사용자 언어에 맞는 로케일 지정자를 사용합니다.명령어locale -a모든 지정자가 표시됩니다.를 들어,는 예를들어, 미영의언코드같다다습니음과는어어국다▁for입니다.en_US.UTF-8로케일은 사용 가능할 때 사용되는 변환과 날짜, 통화 및 소수점 이하의 형식에 영향을 미칩니다.

참고로 이 이미지와 콘텐츠는 http://conda.pydata.org/docs/troubleshooting.html#unknown-locale 에서 가져온 것입니다(저도 이 페이지의 원작자입니다).

여기에 언급된 솔루션 중 어떤 것도 로컬 앱 엔진 환경에서 파이썬 3.7 프로젝트를 실행하는 데 도움이 되지 않았습니다.

명령줄을 통해 로케일을 검색할 수는 있지만,

python3 -c 'import locale; print(locale.getdefaultlocale());'
('en_US', 'UTF-8')  

앱 엔진 환경에서 해당 로케일을 찾을 수 없습니다.

File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/locale.py", line 568, in getdefaultlocale
    return _parse_localename(localename)
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/locale.py", line 495, in _parse_localename
    raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8

그래서 나는 명시적으로 설정해야 했습니다.env_variablesapp.syslog app.dll 파일:

env_variables:
  LC_ALL: "en_US:UTF_8"
  LC_CTYPE: "en_US:UTF_8"

그리고 그것이 버그를 해결했습니다.

어떤 이유에서인지 저도 다음이 필요했습니다.

export LC_CTYPE=en_US.UTF-8

언급URL : https://stackoverflow.com/questions/19961239/pelican-3-3-pelican-quickstart-error-valueerror-unknown-locale-utf-8

반응형