[Python-Dev] Failure of test__locale common on OS X?
Steven Majewski
sdm7g at mac.com
Sat Oct 11 22:00:28 EDT 2003
tkFileDialog also fails when run as a main module:
% pythonw tkFileDialog.py
Traceback (most recent call last):
File "tkFileDialog.py", line 189, in ?
locale.setlocale(locale.LC_ALL,'')
File
"/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/
locale.py", line 381, in setlocale
return _setlocale(category, locale)
locale.Error: locale setting not supported
All the functions seem to work ok when imported. The problem is the
following
in the 'if __name__ == "__main__" : ' clause:
# See whether CODESET is defined
try:
import locale
locale.setlocale(locale.LC_ALL,'')
enc = locale.nl_langinfo(locale.CODESET)
except (ImportError, AttributeError):
pass
The tail end of the OSX setlocale man page reads:
------------------------------------------------------------------------
---------------------------------
STANDARDS
The setlocale() and localeconv() functions conform to ISO/IEC
9899:1990
(``ISO C89'').
HISTORY
The setlocale() and localeconv() functions first appeared in
4.4BSD.
BUGS
The current implementation supports only the "C" and "POSIX"
locales for
all but the LC_COLLATE, LC_CTYPE, and LC_TIME categories.
In spite of the gnarly currency support in localeconv(), the
standards
don't include any functions for generalized currency formatting.
Use of LC_MONETARY could lead to misleading results until we have
a real
time currency conversion function. LC_NUMERIC and LC_TIME are
personal
choices and should not be wrapped up with the other categories.
BSD June 9, 1993
BSD
------------------------------------------------------------------------
--------------------------------
In fact, setlocale( LC_ALL, "POSIX" ) and setlocale( LC_ALL, "C" ) both
work.
( Some other things also don't work, but I'm not sure exactly what
things should work. )
-- Steve Majewski
More information about the Python-Dev
mailing list