[Python-bugs-list] [ python-Bugs-616002 ] getdefaultlocale failure on OS X
noreply@sourceforge.net
noreply@sourceforge.net
Sat, 28 Sep 2002 17:20:20 -0700
Bugs item #616002, was opened at 2002-09-29 00:20
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=616002&group_id=5470
Category: IDLE
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Brian Lenihan (brianl)
Assigned to: Nobody/Anonymous (nobody)
Summary: getdefaultlocale failure on OS X
Initial Comment:
My OS X laptop did not have LANG set in the bash
envrionment and idle (AquaTK) failed to launch with an
AttributeError in IOBinding.py
try:
encoding = locale.getdefaultlocale()[1]
codecs.lookup(encoding)
except (ValueError, LookupError):
pass
encoding = encoding.lower()
^^^^^
encoding is None here because locale.getdefaultlocale()
returns (None, None) when the locale can't be determined.
After finding that adding LANG=en_US to my .bashrc
didn't help, I Iearned OS X GUI apps don't use the
shell's environment, but do use whatever they find in
~/.MacOSX/environment.plist. Adding a couple lines:
<key>LANG</key>
<string>en_US</string>
makes idle happy. An alternative would be to make
sure encoding never gets set to None.
--- IOBinding.py.orig Sat Sep 28 17:17:02 2002
+++ IOBinding.py Sat Sep 28 17:17:42 2002
@@ -64,7 +64,7 @@
# which may give a clue. Unfortunately,
getdefaultlocale has
# bugs that can cause ValueError.
try:
- encoding = locale.getdefaultlocale()[1]
+ encoding = locale.getdefaultlocale()[1] or
'ascii'
codecs.lookup(encoding)
except (ValueError, LookupError):
pass
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=616002&group_id=5470