win10上 安装python环境遭遇OSError: raw write()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win10上 安装python环境遭遇OSError: raw write()相关的知识,希望对你有一定的参考价值。

前文提到在python代码中发现总是执行出错,确又不是自己代码问题的bug,原来是win10的问题,windows搞开发真的需要很大的耐心,有兴趣的可以参考这个来处理:python3遇上win10的坑

这次又遇到pip安装包报OSError,该怎么处理呢?

pip install requests
OSError: raw write() returned invalid length 134 (should have been between 0 and 92)

其实也简单,一条命令搞定,看好了哦:

chcp 65001
Active code page: 65001
再安装就很顺畅的成功了!
pip install requests
Successfully installed certifi-2018.4.16 chardet-3.0.4 idna-2.7 requests-2.19.1 urllib3-1.23

为什么呢?
因为终端的编码造成的,win10环境下,pycharm的Terminal终端编码是936,即美国编码。查看可用命令:

chcp
936

使用 chcp 65001,即改为utf-8编码

这个bug详见:https://bugs.python.org/issue32245#msg308012

以上是关于win10上 安装python环境遭遇OSError: raw write()的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫|OSErro: [Errno 22] Invalid argument: ‘music/GO or Stop?.mp3‘

win10上Tensorflow的安装教程

Win10 安装 Python3 (上)

windows10上同时安装pythoy2和python3

windows10上同时安装pythoy2和python3

win10系统上Python和pycharm的安装及配置