win7下 pip install package 报错解决办法

首先我的python版本是2.7.6,没有默认安装pip,去官网瞅了一眼发现2.7.9和3.4及以上版本已经内置了pip,那还废话什么立马去更新到2.7.9(请允许我吐槽公司网速!)
更新之后,在D:\Python27目录下并没有Scripts这个文件夹,什么鬼!没有就没有吧,那我来手动安装pip,具体过程不说了,balabala,装好了,输入pip -V可用,运行pip install package,结果如图:我是图
解决办法,打开D:\Python27\lib\mimetypes.py文件,在254行附近加入两行代码修改如下:

        with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '') as hkcr:
            for subkeyname in enum_types(hkcr):
                try:
                    if '\0' in subkeyname: # new
                        continue # new
                    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
                        # Only check file extensions
                        if not subkeyname.startswith("."):
                            continue
                        # raises EnvironmentError if no 'Content Type' value
                        mimetype, datatype = _winreg.QueryValueEx(
                            subkey, 'Content Type')
                        if datatype != _winreg.REG_SZ:
                            continue
                        try:
                            mimetype = mimetype.encode(default_encoding)
                        except UnicodeEncodeError:
                            continue
                        self.add_type(mimetype, subkeyname, strict)
                except EnvironmentError:
                    continue

这样再使用pip的时候就不会有问题了,这个问题实际上是因为HKEY_CLASSES_ROOT损坏的注册表项导致的,这可能是一个很好的解决方案,如果你不希望修改注册表的话,这个问题在python3.4版本中也可能存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值