windows下 python2.7 安装 库字符编码错误解决

windows下安装python redis库,安装报错:

F:\Easy4IP\Project\EmailService\Trunk\Tool\redis-2.10.5\redis-2.10.5>setup.py install
Traceback (most recent call last):
  File "F:\Easy4IP\Project\EmailService\Trunk\Tool\redis-2.10.5\redis-2.10.5\setup.py", line 8, in <module>
    from setuptools import setup
  File "build\bdist.win32\egg\setuptools\__init__.py", line 11, in <module>
  File "build\bdist.win32\egg\setuptools\extension.py", line 5, in <module>
  File "build\bdist.win32\egg\setuptools\dist.py", line 15, in <module>
  File "build\bdist.win32\egg\setuptools\compat.py", line 19, in <module>
  File "C:\Python27\lib\SimpleHTTPServer.py", line 27, in <module>
    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 20: ordinal not in range(128)

 百度解决方法 需改默认编码,修改python redis setup.py 文件,在import后添加

import sys
reload(sys)
sys.setdefaultencoding('utf8')

 修改后继续安装,仍然报错:

F:\Easy4IP\Project\EmailService\Trunk\Tool\redis-2.10.5\redis-2.10.5>setup.py install
Traceback (most recent call last):
  File "F:\Easy4IP\Project\EmailService\Trunk\Tool\redis-2.10.5\redis-2.10.5\setup.py", line 8, in <module>
    from setuptools import setup
  File "build\bdist.win32\egg\setuptools\__init__.py", line 11, in <module>
  File "build\bdist.win32\egg\setuptools\extension.py", line 5, in <module>
  File "build\bdist.win32\egg\setuptools\dist.py", line 15, in <module>
  File "build\bdist.win32\egg\setuptools\compat.py", line 19, in <module>
  File "C:\Python27\lib\SimpleHTTPServer.py", line 27, in <module>
    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 363, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 263, in read_windows_registry
    for subkeyname in enum_types(hkcr):
  File "C:\Python27\lib\mimetypes.py", line 254, in enum_types
    ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 20: invalid continuation byte

 仍然是编码错误,windows系统是用GBK编码的,所以将 utf8 修改为 gbk 安装成功。

import sys
reload(sys)
sys.setdefaultencoding('gbk')

 

posted @ 2018-09-07 15:54  yunsicai  阅读(215)  评论(0)    收藏  举报