• 安装scrapy报错


    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 3: invalid continuation byte

    python 3.6;安装scrapy框架 ;报错;UnicodeDecodeError:'utf-8' codec can't decode byte 0xc8 in position 3: invalid continuation byte

    Exception:

    Traceback (most recent call last):
      File "d:program files (x86)pythonpython36libsite-packagespipcompat\__init__.py", line 73, in console_to_str
        return s.decode(sys.__stdout__.encoding)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 3: invalid continuation byte


    During handling of the above exception, another exception occurred:


    Traceback (most recent call last):
      File "d:program files (x86)pythonpython36libsite-packagespipasecommand.py", line 215, in main
        status = self.run(options, args)
      File "d:program files (x86)pythonpython36libsite-packagespipcommandsinstall.py", line 342, in run
        prefix=options.prefix_path,
      File "d:program files (x86)pythonpython36libsite-packagespip eq eq_set.py", line 784, in install
        **kwargs
      File "d:program files (x86)pythonpython36libsite-packagespip eq eq_install.py", line 878, in install
        spinner=spinner,
      File "d:program files (x86)pythonpython36libsite-packagespiputils\__init__.py", line 676, in call_subprocess
        line = console_to_str(proc.stdout.readline())
      File "d:program files (x86)pythonpython36libsite-packagespipcompat\__init__.py", line 75, in console_to_str
        return s.decode('utf_8')

    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 3: invalid continuation byte

    根据trackback信息找到文件d:program files (x86)pythonpython36libsite-packagespipcompat\__init__.py

    相关代码为

    sys.__stdout__.encoding指的是什么呢?根据 'utf-8' codec can't decode byte 0xc8 in position 3: invalid continuation byte

    应该是utf-8

    方法一:

    我们把73行的sys.__stdout__.encoding改为‘gbk’ 就万事大吉了。

    具体为什么是‘gbk ’ 因为被‘gbk’虐太多次了一有问题基本上就是这个玩意,也可能是Windows系统的原因

    ctrl+s保存下

    重新输入安装命令pip install Scrapy

    安静安静

    安装成功后,我选择把sys.__stdout__.encoding改回去(虽然以后都在win下弄,但还是小心点好。。),小心翼翼的闭嘴

    方法二(未测试):

    import sys

    sys.setdefaultencoding('gbk')

    #把sys.__stdout__.encoding改成‘gbk’ ?

  • 相关阅读:
    tsc errors All In One
    TypeScript declare Set Array type All In One
    Linux exit nano editor All In One
    Linux bash pbcopy command All In One
    千焦与千卡的换算公式 All In One
    linux 中 sed N选项将两行合并为一行处理
    linux 中 sed n选项将两行作为一行处理,屏蔽第一行
    linux 中sed命令删除匹配字符之前的一行
    linux 中sed命令 P和p的区别
    linux 中 sed命令替换命令时i选项忽略大小写
  • 原文地址:https://www.cnblogs.com/xc1234/p/9054932.html
Copyright © 2020-2023  润新知