处理python在Windows环境安装包时报编码错误的问题

处理python在Windows环境安装包时报编码错误的问题

问题说明

在Windows环境下安装一些python第三方库时,经常会遇到编码错误的问题:UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 815: illegal multibyte sequence
该问题很多时候只是包里面打开文件时没有指定编码方式,而Windows默认又是用gbk打开的。

File "D:\ProgramData\Anaconda3\envs\py37\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 349, in <module>
      main()
    File "D:\ProgramData\Anaconda3\envs\py37\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 331, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "D:\ProgramData\Anaconda3\envs\py37\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 117, in get_requires_for_build_wheel
      return hook(config_settings)
    File "C:\Users\LT-0041\AppData\Local\Temp\pip-build-env-_bnf9jol\overlay\Lib\site-packages\setuptools\build_meta.py", line 341, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    File "C:\Users\LT-0041\AppData\Local\Temp\pip-build-env-_bnf9jol\overlay\Lib\site-packages\setuptools\build_meta.py", line 323, in _get_build_requires
      self.run_setup()
    File "C:\Users\LT-0041\AppData\Local\Temp\pip-build-env-_bnf9jol\overlay\Lib\site-packages\setuptools\build_meta.py", line 488, in run_setup
      self).run_setup(setup_script=setup_script)
    File "C:\Users\LT-0041\AppData\Local\Temp\pip-build-env-_bnf9jol\overlay\Lib\site-packages\setuptools\build_meta.py", line 338, in run_setup
      exec(code, locals())
    File "<string>", line 15, in <module>
  UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 815: illegal multibyte sequence

解决方案:

  • 下载包
  • 解压包
  • python setup.py install
    • 根据报错信息找到错误位置,并添加默认打开文件的当时为utf-8
      • open("readme.md") --> open("readme.md", encoding="utf-8")
  • 重新执行python setup.py install

注:如需修改源setup.cfg中添加

[easy_install]

index_url = https://pypi.mirrors.ustc.edu.cn/simple

该问题应该也可以通过临时修改Windows默认编码格式解决,但这里没有详细讨论。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值