Поддержка языковой поддержки ОС для использования в Python

Следующий код Python работает на моей машине Windows (Python 2.5.4), но не на моей машине Debian (Python 2.5.0). Я предполагаю, что это зависит от ОС.

import locale
locale.setlocale( locale.LC_ALL, 'English_United States.1252' )

Я получаю следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/locale.py", line 476, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

Вопросы:

  • Является ли он зависимым от ОС?
  • Как я могу найти поддерживаемый язык в Python?
  • Как я могу сопоставлять Windows локалей и локалей Debian?

Ответы

Ответ 1

Это зависит от ОС.

Чтобы получить список локальных доступных, вы можете использовать locale -a в оболочке

Я думаю, что локальный, который вы хотите, это что-то вроде Windows-1252

Ответ 2

попробовать

apt-get install locales-all

для меня это работает как шарм

Ответ 3

Просмотр словаря locale.locale_alias.

>>> import locale
>>> len(locale.locale_alias)
789
>>> locale.locale_alias.keys()[:5]
['ko_kr.euc', 'is_is', 'ja_jp.mscode', '[email protected]', 'yi_us.cp1255']
>>> 

(В моей установке 2.6.2 есть 789 имен локалей.)

Ответ 4

В Ubuntu Точный тип

sudo locale-gen en_US