操作系统:Windows 7 64位
Python:Python 2.7.6 64位
Setuptools:2.1
症状:Traceback (most recent call last):
File "c:\docume~1\admini~1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setup.py", line 17, in
exec(init_file.read(), command_ns)
File "", line 8, in
File "c:\docume~1\admini~1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\__init__.py", line 11, in
from setuptools.extension import Extension
File "c:\docume~1\admini~1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\extension.py", line 5, in
from setuptools.dist import _get_unpatched
File "c:\docume~1\admini~1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\dist.py", line 15, in
from setuptools.compat import numeric_types, basestring
File "c:\docume~1\admini~1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\compat.py", line 19, in
from SimpleHTTPServer import SimpleHTTPRequestHandler
File "C:\Python27\lib\SimpleHTTPServer.py", line 27, in
class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
File "C:\Python27\lib\SimpleHTTPServer.py", line 208, in SimpleHTTPRequestHandler
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 0xd7 in position 9: ordinal not in range(128)
排查半天未果,GOOGLE之,发现是Python 2.7的Bug,确切的说是Python安装目录下的Lib/mimetypes.py下的BUG,解决方案见地址:http://bugs.python.org/review/9291/diff/1663/Lib/mimetypes.py
记得将源文件备份哦,还有记得将mimetypes.pyc清除
2014年1月22日补充:
哎,刚刚从pip的安装手册上发现这么一段:Beginning with v1.5.1, pip does not require setuptools prior to running get-pip.py. Additionally, if setuptools (or distribute) is not already installed, get-pip.py will install setuptools for you.