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,结果如图:win7下 pip install package 报错解决办法_第1张图片
解决办法,打开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版本中也可能存在。

你可能感兴趣的:(python)