Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python启动WSGI,make_server报错

Python启动WSGI,make_server报错

作者头像
用户2475223
发布于 2019-12-17 07:55:41
发布于 2019-12-17 07:55:41
1.1K00
代码可运行
举报
文章被收录于专栏:codersamcodersam
运行总次数:0
代码可运行

今天写了一个简单的python web server,启动后访问浏览器报了一个错误,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Serving HTTP on port 8088...
127.0.0.1 - - [29/May/2019 16:08:29] "GET / HTTP/1.1" 200 0
Traceback (most recent call last):
File "D:\Python\lib\wsgiref\handlers.py", line 138, in run
self.finish_response()
File "D:\Python\lib\wsgiref\handlers.py", line 181, in finish_response
self.write(data)
File "D:\Python\lib\wsgiref\handlers.py", line 267, in write
"write() argument must be a bytes instance"
AssertionError: write() argument must be a bytes instance

根据报错信息提示最终可得知write()接收的参数不是一个bytes类型。 最终定位报错的位置在handlers.py finish_response() 这个函数中self.write(data),在self.write(data)上添加代码data=data.encode(),重启服务即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年5月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Django | Cookie 中文编码
在Django中,向cookie写入中文字符后会报错;如向cookie中保存用户名,当用户名存在中文字符时:
py3study
2020/01/16
1.5K0
Django | Cookie 中文编码
Python每天五分钟-搭建简单的WEB服务器
WSGI协议是描述服务器如何与客户端通信的一种协议或者规范。 要搭建一个服务器需要实现一个application(environ, start_response)这样的函数。
用户2475223
2019/12/17
1.2K0
Python Web开发中的WSGI协议
 在Python Web开发中,我们一般使用Flask、Django等web框架来开发应用程序,生产环境中将应用部署到Apache、Nginx等web服务器时,还需要uWSGI或者Gunicorn。一个完整的部署应该类似这样:
py3study
2020/01/16
1K0
wsgi 协议
本来没打算这么早就学习 wsgi 的,因为想要学习python 是如何处理网络请求的绕不开 wsgi,所以只好先学习一下 wsgi。先对 wsgi 有个印象,到了学习 Django 运行方式以及如何处理网络请求数据的时候就会感觉很顺畅了。本文参考
py3study
2020/01/19
9090
python报错提示以及logger的一些应用
Python的assert是用来检查一个条件,如果它为真,就不做任何事。如果它为假,则会抛出AssertError并且包含错误信息。例如:
悟乙己
2023/05/09
6630
python报错提示以及logger的一些应用
uwsgi日志中文问题
开发项目,使用uwsgi,遇到个头痛的问题,如果指定了uwsgi打印日志,当日志中写入中文时,直接会导致报错
fanspring
2019/06/27
1.7K0
Python 文档生成器 mkdocs
mkdocs 是一个基于Python 对 Markdown 非常友好的文档生成器,中文文档地址
苏生不惑
2019/08/14
1.6K0
深入浅出web服务器与python应用程序之间的联系
简单来说,Web服务器是在运行在物理服务器上的一个程序,它永久地等待客户端(主要是浏览器,比如Chrome,Firefox等)发送请求。Web 服务器接受 Http Request,返回 Response,很多时候 Response 并不是静态文件,因此需要有一个应用程序根据 Request 生成相应的 Response。这里的应用程序主要用来处理相关业务逻辑,读取或者更新数据库,根据不同 Request 返回相应的 Response。两者之间的桥梁就是WSGI。 一直喜欢研究比较底层的技术, 之前就对python web框架web.py的运行机制比较迷惑, 大概学习了下之后发现flask框架以及Django框架都是基于python WSGI协议, python提供了一个简易的wsgi服务器实现--wsgiref, 在网站上找了两个例子运行了一下, 讲真, 第一次运行起来就比较懵逼, 尽管知道底层是依赖于socket, 但是深入一点就没有再研究了, 也看不懂。于是花了几天, 踏踏实实的看了源码, 一边百度一边理解, 终于学到了很多。有时候觉得自己让asp.net"惯坏"了, 因为微软闭源的关系, 自己掌握的基础知识并不全, 在很多的框架使用上, 仅仅会, 原理说个三三四四的, 还是差了很多, 果然开源就是好, 一言不合攻源码, 的确是学到了很多, python也是个很强大的语言, 这是我阅读其源码最大的感受。 讲真, 在没有读这两篇文章之前, 尽管我对web服务器, web框架有了解, 但还是比较模糊, 这两篇文章写的很好。伯乐在线也是个不错的技术网站! 阅读完这两篇文章后, 那就有一定的基础了。先上代码:
Ryan_OVO
2023/10/18
2100
深入浅出web服务器与python应用程序之间的联系
iis配置django3.0 报错 argument of type 'WindowsPath' is not iterable
折腾了一天没有解决:开始以为是iis问题,但是看到代码已经是网页报错了,而且好像是数据库问题,关键是数据库还是原来的数据库,都是一样的代码,就是部署到iis不能使用。后来参考了https://blog.csdn.net/qq_45652065/article/details/109704758的文章将settings里的
对你的承诺
2020/11/30
8590
所谓 WSGI
如果你也想阅读 WSGI 相关的 PEP 规范,建议直接阅读 PEP 3333,因为 PEP 3333 对 PEP 333 是向下兼容的,也可以说 PEP 3333 是对 PEP 333 的补充。
Ryoma
2022/04/02
5840
所谓 WSGI
python3 OSError: raw
在python中使用print()时,raw write()返回无效的长度:OSError: raw write() returned invalid length 254 (should have been between 0 and 127) 写出一个不是code的bug,很烦恼,解决了挺长时间,都翻到外文来看,不过还是解决了,只尝试了一种简单可观的方法,希望对大家有用
py3study
2020/01/03
5200
Tornado 简述
如果你的 python 环境还没有安装 tornado,请直接使用 pip 安装:
IT茂茂
2020/03/05
9730
关于wsgi协议的理解
首先要了解 WSGI 规范的概念,WSGI(Web Server Gateway Interface)规范描述了web server(Gunicorn,uWSGI等)如何与web application(flask, django等)交互、web application如何处理请求,定义在 pep 3333。正是有了 WSGI 规范,我们才能在任意 web server 上跑各种 web 应用。WSGI API 定义看起来很简单:
步履不停凡
2019/09/11
5980
使用wsgiref库diy简单web架构
  CGI(Common Gateway Interface)通用网关接口,即接口协议,前端向服务器发送一个URL(携带请求类型、参数、cookie等信息)请求,服务器把这个请求的各种参数写进进程的环境变量,比如 REQUEST_METHOD,PATH_INFO之类的,然后开启 cgi模块以后,将其发送给CGI程序,CGI程序(可以由各种语言编写,比如C、C ++、VB 和Delphi 等)从环境变量中解析出各种参数,然后向标准输出输出内容(比如cout了一段HTML代码),这些内容没有被打印到控制台上,而是最终响应给了你的浏览器,渲染出了网页。每一次向CGI发送请求,都会生成一个CGI进程,这就是所谓的fork-and-exec模式,这也通常是导致并发瓶颈的症结,反向代理加上大型的的分布式系统可以一定程度上减轻这些压力。
全栈程序员站长
2021/12/31
6680
使用wsgiref库diy简单web架构
keras报错:TypeError: softmax() got an unexpected keyword argument 'axis'
网上看到一种说法是由于tensorflow版本过低的问题,这里我的环境中tensorflow的版本是1.2.1,查看版本号的方法:终端命令查看TensorFlow版本号及路径。这种说法的解决方案当然就是升级tensorflow版本了。由于比较麻烦我没有选择这种方法。
Cloudox
2021/11/23
8120
keras报错:TypeError: softmax() got an unexpected keyword argument 'axis'
tornado cherrypy bottle性能测试
2011-11-25 今天做了个tornado cherrypy 和 bottle的对比 ab -n 10000 -c 1000 http://192.168.8.2:8889/ 1588req/s (tornado) ab -n 10000 -c 1000 http://192.168.8.2:9080/hello/shengp 323.35 req/s (bottle) ab -n 10000 -c 1000 http://192.168.8.2:8088/nqsdk/change 452.36
架构师刀哥
2018/03/20
1.1K0
[PYTHON] 核心编程笔记之十-Py
错误时语法或是逻辑上的,语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译
py3study
2020/01/08
9970
python︱函数、for、if、_name_、迭代器、防范报错、类定义、装饰器、argparse模块、yield
lambda表达式有什么好处?匿名函数,一般用来给filter,map这样的函数式编程服务,map(lambda x: x*2,[1,2,3,4,5])
悟乙己
2022/05/09
8880
python︱函数、for、if、_name_、迭代器、防范报错、类定义、装饰器、argparse模块、yield
启动大蟒蛇报错
今天,打开大蟒蛇(Anaconda Navigator)时,突然报了错 如下:
宸寰客
2020/07/13
1.5K0
启动大蟒蛇报错
python︱函数、for、if、_name_、迭代器、防范报错、类定义、装饰器、argparse模块
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/54291769
悟乙己
2019/05/28
9600
相关推荐
Django | Cookie 中文编码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验