【问题标题】:pip install & UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 9: invalid continuation bytepip install & UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 9: invalid continuation byte
【发布时间】:2018-01-15 19:50:18
【问题描述】:

尝试安装:

pip install python-binance

结果:

Exception:
Traceback (most recent call last):
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str
    return s.decode(sys.__stdout__.encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 9: invalid continuation byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\commands\install.py", line 324, in run
    requirement_set.prepare_files(finder)
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_set.py", line 634, in _prepare_file
    abstract_dist.prep_for_dist()
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_set.py", line 129, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_install.py", line 439, in run_egg_info
    command_desc='python setup.py egg_info')
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocess
    line = console_to_str(proc.stdout.readline())
  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str
    return s.decode('utf_8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 9: invalid continuation byte

如何解决?

【问题讨论】:

  • 好像是已知的issue
  • 没有帮助。我安装了 Microsoft Visual Tools 2015。
  • 我相信这只是一个问题,因为您的路径使用了未通过 CMD 代码页正确解析的 unicode 字符。从 Visual Studio 安装绕过 CMD。可能有chcp 可以玩的技巧(chcp 65001 强制使用 utf8)但是 ymmv。

标签: python pip


【解决方案1】:

我建议对这种情况使用快速修复。通过将输出从标准方向(终端)重定向到文件来完成修复,如下所示:

pip install python-binance > temp_output_file

如果需要,打开它...

【讨论】:

  • 它可以让你安装包。由于当 pip install procces 尝试在不同的代码页中输出到终端时出现问题。这个技巧只是重定向输出并避免这种情况发生
【解决方案2】:

好的...

  1. 由于错误出现在我的文件中:

    c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\compat__init__.py

问题文件夹是“анна”,即cp1251

  1. 第一个解决方案是找到如何重命名用户的文件夹。 (重装操作系统除外)。到带有拉丁字母的文件夹

  2. 文件中的第二个路径compat__init__.py - 替换

    return s.decode(sys.__stdout__.encoding)

  3. 进入

    return s.decode('cp1251')

当然你需要知道你有什么编码。在我这里是 cp1251,在你那里它可以是 latin(例如)。在文件中替换后 - 一切都安装成功!

谢谢 2 牛人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2020-03-01
    • 2014-05-14
    • 1970-01-01
    • 2020-12-26
    • 2021-11-24
    • 2018-10-15
    相关资源
    最近更新 更多