我以前使用web.py没事,今天运行时报错,

mimetypes.init() # try to read system mime.types
File "D:\ProgramFiles\python2.7\lib\mimetypes.py", line 358, in init
db.read_windows_registry()
File "D:\ProgramFiles\python2.7\lib\mimetypes.py", line 258, in read_windows_r
egistry
for subkeyname in enum_types(hkcr):
File "D:\ProgramFiles\python2.7\lib\mimetypes.py", line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal
not in range(128)

可以看到,应该与读取注册表有关,在网上搜到了解决办法。由于装了阿里旺旺导致的。以下是转载的:

通过研究发现,安装时会检查HKEY_CLASSES_ROOT的子键,而邪恶的旺旺每次启动时都会在HKEY_CLASSES_ROOT增加一个'.阿里旺旺接收的可疑文件'键值,这个键值是中文的,就会读取时导致如下错误

1
2
3
4
5
6
7
8
    mimetypes.init() # try to read system mime.types
  File "D:\Python27\lib\mimetypes.py", line 358in init
    db.read_windows_registry()
  File "D:\Python27\lib\mimetypes.py", line 258in read_windows_registry
    for subkeyname in enum_types(hkcr):
  File "D:\Python27\lib\mimetypes.py", line 249in enum_types
    ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)

解决办法,删掉就行了,如果每次删掉比较麻烦,用autoit来删除,代码如下

1
RegDelete('HKEY_CLASSES_ROOT\.阿里旺旺接收的可疑文件')

编译好的exe也可以在附件中下载

20131226更新:

不只是阿里旺旺会导致出错,只要是注册了中文后缀名都有可能出错,另外每次改也不是一个事儿,推荐一个一劳永逸的方法

进入python安装目录下的Lib目录,打开mimetypes.py文件

在default_encoding = sys.getdefaultencoding()前添加
       # begin
       if sys.getdefaultencoding() != 'gbk':
           reload(sys)
           sys.setdefaultencoding('gbk')

# end

1
2
3
4
5
6
7
# begin
if sys.getdefaultencoding() != 'gbk':
    reload(sys)
    sys.setdefaultencoding('gbk')
# end
default_encoding = sys.getdefaultencoding()
with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '') as hkcr:

转自:http://webrawler.blog.51cto.com/8343567/1339637

转:阿里旺旺导致python安装包失败的解决办法的更多相关文章

  1. 使用npm安装包失败的解决办法(使用npm国内镜像介绍)

    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 1.通过config命令 npm config set registry https://regist ...

  2. 所有anaconda安装包失败的解决办法汇总

    多试几次,有时候网络不稳定下载一半会停掉 更改Pip源 pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple 1.首先确认镜像源 ...

  3. [Win] Win8权限机制导致R安装包失败

    在Rstudio安装tidyselect的时候,提示 ERROR: compilation failed for package ‘tidyselect’ 搜了一下,在github上找到tidysel ...

  4. Jmeter报文体包含过大附件导致请求报文发送失败的解决办法

    Jmeter中,HTTP request的报文体为一个附件时,如果附件过大,在发送请求报文的时候会失败,办法就是勾选“Use multipart/form-data for POST”

  5. pip安装包失败的常见解决方法

    pip安装包失败的常见解决方法 方法一 当安装包失效的时候可以去网站下载whl文件.下载的时候应该先查看电脑上 python 的版本. 地址:https://www.lfd.uci.edu/~gohl ...

  6. 安装VisualStudio时失败,错误信息安装包失败或证书不在有效期内

    本人安装VisualStudio2012的时候,安装失败有:错误信息安装包失败或证书不在有效期内等 网上查找相关信息,得到的答案很少,我重新网上下载同版本软件继续之前的下载,但还是无效 之后我把软件卸 ...

  7. Python 解决Python安装包时提示Unable to find vcvarsall.bat的问题

    解决Python安装包时提示Unable to find vcvarsall.bat的问题   by:授客 QQ:1033553122 问题 Python安装包时,提示Unable to find v ...

  8. python安装包的时候报错

    python安装包的时候报错 今天兴致勃勃的安装了一个paramiko包,过程很顺利,但是到结尾的时候报错,这就让人不爽了. 所以呢,需要安装一个名为python-dev的软件包. 该软件包包括头文件 ...

  9. python安装包及批量更新包

    python安装包 # pip安装 pip install pyecharts # 源码安装 - linux git clone https://github.com/pyecharts/pyecha ...

随机推荐

  1. mybatis0207 resultType、resultMap、延迟加载使用场景总结

    延迟加载: 延迟加载实现的方法多种多样,在只查询单表就可以满足需求,为了提高数据库查询性能使用延迟加载,再查询关联信息. mybatis提供延迟加载的功能用于service层. resultType: ...

  2. cocos2d源码剖析

    1. TextureAtlas http://www.cocoachina.com/bbs/read.php?tid-311439-keyword-TextureAtlas.html 2. Label ...

  3. FastDFS安装配置手册

    文件服务器分布式系统安装手册 本文档详细的介绍了FastDFS的最小集群安装过程.集群环境如下: tracker:20.2.64.133 .用于调度工作,在访问上起负载均衡的作用. group1: s ...

  4. Java设计模式02:常用设计模式之工厂模式(创建型模式)

    一.工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的.  工厂模式在<Java与模式>中分为三类: 1)简单工厂模式(Simple Fact ...

  5. NUll在oracle与sqlserver中使用相同与区别

    最近在使用Oracle进行开发,遇到很多与以前使用sqlserver的不同语法.今天遇到null在两种数据库上面操作上的差别,在此记录两种数据库上的差异. null 与字符串相加 1.在oracle中 ...

  6. aliyun云服务器硬件性能测试

    1.所购买阿里云服务器信息 2.dd命令测试 3.

  7. Oracle利用dbms_metadata.get_ddl查看DDL语句

    当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数 GET_DDL函数返回创建 ...

  8. JAVA开发环境 - 环境变量及配置

    JDK是什么?JRE是什么? JRE(Java Runtime Environment):Java运行环境: JDK(Java Development Kit):Java开发工具包,里面已经包含JRE ...

  9. spring data jpa Specification 例子

    /** * 封装查询条件 * * @param baseQueryDTO * @return */ private Specification<ActivityBase> getSpeci ...

  10. 通过移位与或非运算获取整形最大值,最小值,以及获取输入的int类型整数的二进制表示

    以上是最终效果 实现类: package com.corejava.chap02; public class IntBin { private int value; public IntBin(int ...