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')
浙公网安备 33010602011771号