Pelican 3.3 pelican-quickstart kesalahan "ValueError: unknown lokal: UTF-8"

Ketika saya mencoba untuk menggunakan pelican3.3, saya mengetik memuji "pelican-quickstart", beberapa kesalahan yang muncul.

Ini adalah kesalahan:

(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

Saya OS adalah OS X Mavericks.

Mengomentari pertanyaan (1)
Larutan

Anda bisa mencoba solusi yang diposting di sini atau disini. Pada dasarnya, tambahkan beberapa baris ke file ~/.bash_profile:

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

Ada yang luar biasa bug report terkait dengan masalah ini. Tampak bahwa Python membuat beberapa asumsi tentang format lokal nama-nama yang tidak't berlaku universal. Secara eksplisit pengaturan lingkungan ini vars ini pada dasarnya hanya sebuah solusi untuk bug itu.

[Edit:] Sebagai @asmeurer benar poin, di atas memperbaiki mengasumsikan inggris dan AS, Anda harus benar-benar memilih pilihan anda lokal dari daftar yang diberikan oleh lokal -a (umumnya satu yang berakhir di UTF-8).

Komentar (10)

Gerrat's jawaban yang bekerja, dan saya percaya kita harus menyebutkan bahwa jika anda menggunakan sesuatu seperti zsh, anda harus menambahkan baris untuk ~/.zshrc bukan ~/.bash_profile atau ~/.bash_rc

Komentar (0)

Atas jawaban yang cepat besar! Tapi saya percaya orang-orang malas seperti saya ingin perubahan lingkungan global dalam hal tidak pernah berubah lagi sementara perubahan lain untuk Login pengguna. Jadi kita perlu mengubah file seperti:

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

Dan kemudian tambahkan dua baris di file berikut

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

Ingat jangan lewatkan salah satu dari mereka, itu doesn't bekerja untuk saya hanya $LANG atau $LC_ALL. Setelah itu jalankan perintah untuk aktif di lingkungan.

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

Sekali lagi, orang-orang malas seperti saya bisa selesai dalam satu baris perintah.

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

I'm reposting jawaban saya dari pertanyaan ini](https://stackoverflow.com/a/19991699/161801) di sini, karena itu hal itu ditandai sebagai duplikat dari yang satu ini, dan menerima jawaban atas pertanyaan ini adalah salah dalam banyak hal.

Ini adalah bug di OS X aplikasi Terminal yang hanya muncul di locales tertentu (negara/bahasa kombinasi). Buka Terminal di /Aplikasi/Utilitas dan hapus centang pada kotak "Set lokal variabel lingkungan pada startup".

Ini akan membuat anda LANG variabel lingkungan menjadi kosong. Hal ini dapat menyebabkan terminal digunakan untuk setting yang salah untuk lokal anda. Lokal perintah di Terminal akan memberitahu anda apa yang akan digunakan adalah pengaturan. Untuk menggunakan bahasa yang benar, tambahkan baris untuk anda bash profil (biasanya ~/.profil)

export LANG=your-lang

Ganti anda-lang dengan benar locale untuk bahasa anda. Perintah lokal yang akan menunjukkan kepada anda semua specifier. Misalnya, kode bahasa untuk bahasa inggris adalah en_US.UTF-8. Lokal mempengaruhi apa terjemahan yang digunakan ketika mereka tersedia, dan juga bagaimana tanggal, mata uang, dan desimal diformat.

Catatan, ini gambar dan konten yang diambil dari http://conda.pydata.org/docs/troubleshooting.html#unknown-locale (saya'm juga penulis asli pada halaman itu).

Komentar (0)

Tidak ada solusi yang disebutkan di sini bekerja untuk saya menjalankan python 3.7 proyek di lokal app engine lingkungan.

Meskipun saya bisa mengambil lokal melalui baris perintah dengan baik:

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

Yang lokal tidak dapat ditemukan dalam aplikasi mesin lingkungan:

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

Jadi saya harus secara eksplisit diatur env_variables di app saya.nama file:

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

Dan yang memecahkan bug.

Komentar (0)

Untuk beberapa alasan saya juga dibutuhkan:

export LC_CTYPE=en_US.UTF-8
Komentar (1)