Windows 7 / Python 2.7.6 にて ez_setup.py にて UnicodeDecodeError が出て困ったけど解決した件
追記 (2014/6/3)
Python ML にて報告がされていました。
Python 2.7.7 にて下記不具合として修正されていますので、2.7.7を使いましょう。
2系の最新版である Python 2.7.6 が出てました。新規に入れなおしてみよう思い、Python 2.7.6 をインストールし、ez_setup.py を実行し、まずはsetuptoolsをインストールしようとしたところ、なぜか UnicodeDecodeError に遭遇。
おかしい、他のWindowsマシンではうまくいくのに。
UnicodeDecodeError に遭遇
C:\Users\tkondou\Downloads>C:\Python27\python.exe ez_setup.py
Extracting in c:\users\tkondou\appdata\local\temp\tmpnnhcbl
Now working in c:\users\tkondou\appdata\local\temp\tmpnnhcbl\setuptools-2.0.1
Installing Setuptools
Traceback (most recent call last):
File "setup.py", line 17, in <module>
exec(init_file.read(), command_ns)
File "<string>", line 8, in <module>
File "c:\users\tkondou\appdata\local\temp\tmpnnhcbl\setuptools-2.0.1\setuptool
s\__init__.py", line 11, in <module>
from setuptools.extension import Extension
File "c:\users\tkondou\appdata\local\temp\tmpnnhcbl\setuptools-2.0.1\setuptool
s\extension.py", line 5, in <module>
from setuptools.dist import _get_unpatched
File "c:\users\tkondou\appdata\local\temp\tmpnnhcbl\setuptools-2.0.1\setuptool
s\dist.py", line 15, in <module>
from setuptools.compat import numeric_types, basestring
File "c:\users\tkondou\appdata\local\temp\tmpnnhcbl\setuptools-2.0.1\setuptool
s\compat.py", line 19, in <module>
from SimpleHTTPServer import SimpleHTTPRequestHandler
File "C:\Python27\lib\SimpleHTTPServer.py", line 27, in <module>
class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
File "C:\Python27\lib\SimpleHTTPServer.py", line 208, in SimpleHTTPRequestHand
ler
mimetypes.init() # try to read system mime.types
File "C:\Python27\lib\mimetypes.py", line 358, in init
db.read_windows_registry()
File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry
for subkeyname in enum_types(hkcr):
File "C:\Python27\lib\mimetypes.py", line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 8: ordinal
not in range(128)
Something went wrong during the installation.
See the error message above.
mimetypes.py らしい
該当コードをみてみる。
C:\Python27\Lib\mimetypes.py あたり。
with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '') as hkcr: for subkeyname in enum_types(hkcr):
Windowsの場合、レジストリの HKEY_CLASSES_ROOT 以下のsubkeyをサーチしてごにょごにょしているようだ。
regeditでレジストリを開いてみる。
下記のような日本語名を含むエントリを発見。

対処
安全のため、exportした上で、思い切って削除。
無事 ez_setup.py が通りました。めでたしめでたし。
う~ん、対処方法はこれで良かったんだろうか。