Python3.5 版本应该如何快速搭建 web 服务?

2021-08-20 14:39:29 +08:00
 Richard14

如题,生产环境有一套嵌入式 python,基于 3.5 版本不能修改。想要通过 web 服务进行控制,而且最好不依赖第三方库,有什么代码可以快速实现一个基础的基于 http (或者 tcp )进行远程调用的服务吗?

2876 次点击
所在节点    Python
16 条回复
AoEiuV020
2021-08-20 14:55:32 +08:00
python3 有个自带的 http.server,应该可以简单实现 http 服务器端,
SbloodyS
2021-08-20 15:04:37 +08:00
Richard14
2021-08-20 15:19:25 +08:00
@AoEiuV020
@SbloodyS
有基于 aiohttp 的代码吗,io 应该可以降低很多开销
0bit
2021-08-20 15:24:04 +08:00
Python 自带 RPC,可以试试,不过好多年没用过这种方案了,感觉有点怪
yucongo
2021-08-20 15:30:15 +08:00
python -m http.server

服务端口:0.0.0.0:8080

帮助:python -m http.server --help
abersheeran
2021-08-20 15:31:13 +08:00
如果你不想要第三方依赖,标准库里的 XML RPC 是你唯一的选择了。

另外,aiohttp 不支持 python3.5
renmu123
2021-08-20 15:56:55 +08:00
不想要依赖就只能手撸了
keepeye
2021-08-20 16:09:57 +08:00
@abersheeran 3.5.6 正在用 aiohttp
among
2021-08-20 16:34:25 +08:00
bottle,就一个 py 文件。
debuggerx
2021-08-20 17:05:01 +08:00
试试 bottle 这个框架?
http://www.bottlepy.org/docs/dev/
单文件即可
cloverstd
2021-08-20 18:04:03 +08:00
此处就体现了 Go 的优势了
Kobayashi
2021-08-20 18:15:48 +08:00
3.5 就别考虑异步了,最好 3.7 起步。
abersheeran
2021-08-20 21:04:41 +08:00
@keepeye 上古版本的 aiohttp ?你用的那版本连接泄露的 BUG 修了吗
SingeeKing
2021-08-20 21:53:48 +08:00
最好不依赖第三方库 aiohttp 难道不是第三方
Richard14
2021-08-21 09:31:12 +08:00
@SingeeKing 打错了,脑袋里想的是 asyncio,打成 aiohttp 了
Leon6868
2021-08-22 18:28:31 +08:00
你可以参考 pydoc 的实现方法,用 python 自带的 http 模块实现一个基础的服务器。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/797020

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX