前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3 OSError: raw

python3 OSError: raw

作者头像
py3study
发布2020-01-03 11:16:55
4520
发布2020-01-03 11:16:55
举报
文章被收录于专栏:python3python3

在python中使用print()时,raw write()返回无效的长度:OSError: raw write() returned invalid length 254 (should have been between 0 and 127) 写出一个不是code的bug,很烦恼,解决了挺长时间,都翻到外文来看,不过还是解决了,只尝试了一种简单可观的方法,希望对大家有用

即使我想把print()注释掉,也时不时的蹦出来,错误如下:

复制代码 Traceback (most recent call last): File "D:\AI\Python35\lib\site-packages\django\core\handlers\exception.py", line 35, in inner response = get_response(request) File "D:\AI\Python35\lib\site-packages\django\core\handlers\base.py", line 128, in _get_response response = self.process_exception_by_middleware(e, request) File "D:\AI\Python35\lib\site-packages\django\core\handlers\base.py", line 126, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "E:\PyCharmWork\PythonWebApp\ApiPicDjangoSite\PicWeb\views.py", line 94, in trainPic bankTrain.Cnn_bank_run(lineData,linefile) File "E:\PyCharmWork\PythonWebApp\ApiPicDjangoSite\PicWeb\Cnn_Bank_train.py", line 70, in Cnn_bank_run modelTrain.modelTrain_ByType(kwargs[1],X_train,Y_train,X_test,Y_test) File "E:\PyCharmWork\PythonWebApp\ApiPicDjangoSite\PicWeb\trainModel_init.py", line 113, in modelTrain_ByType verbose=1, validation_data=(kwgs[3], kwgs[4])) File "D:\AI\Python35\lib\site-packages\keras\models.py", line 960, in fit validation_steps=validation_steps) File "D:\AI\Python35\lib\site-packages\keras\engine\training.py", line 1650, in fit validation_steps=validation_steps) File "D:\AI\Python35\lib\site-packages\keras\engine\training.py", line 1233, in _fit_loop callbacks.on_epoch_end(epoch, epoch_logs) File "D:\AI\Python35\lib\site-packages\keras\callbacks.py", line 73, in on_epoch_end callback.on_epoch_end(epoch, logs) File "D:\AI\Python35\lib\site-packages\keras\callbacks.py", line 306, in on_epoch_end self.progbar.update(self.seen, self.log_values, force=True) File "D:\AI\Python35\lib\site-packages\keras\utils\generic_utils.py", line 369, in update sys.stdout.write(info) OSError: raw write() returned invalid length 254 (should have been between 0 and 127) 复制代码 错误都很有规律可循: Error like this: OSError: raw write() returned invalid length 318 (should have been between 0 and 159) OSError: raw write() returned invalid length 8 (should have been between 0 and 4) OSError: raw write() returned invalid length 130(should have been between 0 and 65) Please note: 318=159x2 8=4x2 130=65x2 原因:可能与最近的Windows 10更新有关。我有版本1709(操作系统版本16299.64),

  我认为这可能是unicode字符的返回值(正常长度的两倍)?

  我实际上可以在外部powershell.exe中重现此错误,所以这本身不是Code相关的。

  总的来说,与win10系统、版本有关系,踩中雷区了(本人win10,版本 10.0.16299 版本 16299)

  可以cmd一下,输入msinfo32,就能看到版本情况

解决方案:写入以下代码到报错提示的python的中,写在开头

事先要看你是否pip install win_unicode_console,没有,就赶快动手

import win_unicode_console win_unicode_console.enable() 如下:

参考:https://github.com/Microsoft/vscode/issues/39149

https://qiita.com/non0/items/4014b81f5a2d232ae22f

https://stackoverflow.com/questions/47356993/oserror-raw-write-returned-invalid-length-when-using-print-in-python

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档